初学ruby

非常惭愧的说一句,我做了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_第1张图片
ruby1.png
  • 执行代码在命令行键入 ruby 文件名
    这里我有个发现,在ruby里puts "#{arr}"双引号和单引号是不一样的。
    双引号结果:

    ruby2.png
    单引号结果:
    ruby3.png
    没有引号:
    ruby5.png

    好神奇!

  • 既然是一开始做的测试题,那么写单元测试是怎样的?

  • 搜索ruby 单元测试 仿写就好。
    https://en.wikibooks.org/wiki/Ruby_Programming/Unit_testing
    里面有类、方法,还有简单的测试语法。

  • 先写测试,你会发现,原来的代码如何调用呢?这是就需要定义类并在类里面定义方法,再将代码放入方法里。
    修改后的源代码是

    初学ruby_第2张图片
    ruby.png
    测试代码是:
    初学ruby_第3张图片
    ruby7.png

    git地址在这里

你可能感兴趣的:(初学ruby)