数值


  • 通过 Integer 检查对象是否是数值类型,而不是 FixnumBignum。因为 FixnumBignum 表达的数值大小存在范围限定。
    [link]

    1. timestamp = Time.now.to_i
    2. # 差
    3. timestamp.is_a? Fixnum
    4. timestamp.is_a? Bignum
    5. # 好
    6. timestamp.is_a? Integer

  • 对于随机数的生成,倾向使用 Range 来表示,而不是 Integer + 偏移量,这样可以更加清晰地表达你的意图,类比于投掷骰子。
    [link]

    1. # 差
    2. rand(6) + 1
    3. # 好
    4. rand(1..6)