非常惭愧的说一句,我做了20道afar同学推荐的ruby_coans测试学习题,然后就开始做作业,时间太紧,没来得及好好学习
- 题目是这样的:
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”.
- 什么意思呢?
- 一个简单的算法题:
一个数组中元素从1到n
是 字符 形式,
将所有3
的倍数替换成“Fizz”
将所有5
的倍数替换成“Buzz”
["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz"]
- 先建项目
直接创建文件夹就好,再创建一个文件,后缀是rb
- 搜索
变量
数组
循环
条件语句
输出
赋值
然后我们参照demos应该可以实现这个算法。
-
执行代码在命令行键入
ruby 文件名
这里我有个发现,在ruby里puts "#{arr}"
双引号和单引号是不一样的。
双引号结果:
好神奇! 既然是一开始做的测试题,那么写单元测试是怎样的?
搜索
ruby 单元测试
仿写就好。
https://en.wikibooks.org/wiki/Ruby_Programming/Unit_testing
里面有类、方法,还有简单的测试语法。-
先写测试,你会发现,原来的代码如何调用呢?这是就需要定义类并在类里面定义方法,再将代码放入方法里。
修改后的源代码是
git地址在这里