Ruby完成FizzBuzz

题目要求

Write a program that outputs the string representation of numbers from 1 to n.
But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.
Example:
n = 15,
Return:
[ "1", "2", "Fizz", "4","Buzz", "Fizz", "7","8","Fizz","Buzz", "11","Fizz", "13", "14", "FizzBuzz"]

代码
# @param {Integer} n
# @return {String[]}
```def fizz_buzz(n)
    newArr = Array.new
    for i in 1..n
        if i%3==0 && i%5==0 
            newArr<< "FizzBuzz"
        elsif i%3==0
            newArr<< "Fizz"
        elsif i%5==0
            newArr<< "Buzz"
        else 
            newArr<< "#{i}"
        end
    end
    newArr
end

刚看到这道题目的时候以为以为很简单,很快写完,但一直不通过,后来仔细检查,发现要注意的地方还挺多。
一、刚开始只写了循环部分,并没有建立数组,导致打印出来只有结果,并不是一个数组,导致出错;
二、数组中添加元素的方法:
1、newArr.push("Fizz")
2、newArr<<"Fizz"
3、newAr.insert(2,"Fizz")

  • Ruby 字符串分为单引号字符串(')和双引号字符串("),区别在于双引号字符串能够支持更多的转义字符。在Ruby中,可以通过在变量或者常量前面加 # 字符,来访问任何变量或者常量的值。

三、


范围运算符
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目要求: 用ruby写一个程序:要求输出一个从1到n的字符串,其中遇到能被3整除的数字时,用“Fizz”代替该数...
    TW张苗阅读 557评论 3 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 非常惭愧的说一句,我做了20道afar同学推荐的ruby_coans测试学习题,然后就开始做作业,时间太紧,没来得...
    seafruit阅读 509评论 1 1
  • 好久没来简书写东西了,账号都自动登出了。。(尴尬脸)。。 最近一直在刷Ruby Koans(安利脸),翻着镐头书(...
    谭雅翔阅读 386评论 2 1
  • 其他的歌迷我不清楚,但是我清楚在我心中的陈奕迅,他可能不是歌唱的天王,有时还被人说是个疯子,还有就是个傻子。 有人...
    四月世界的你阅读 711评论 0 0