• ruby学习笔记(4)


    Numeric类

    1) 整型和整型相加结果为整形,整形和浮点型相加,结果为浮点型。

    ================================

    p 1+1            #=>2

    p 1+1.0         #=>2.0

    p 3 * 2.0       #=>6.0

    ================================

    2) divmod。 除了+ - * / %之外,ruby中数值类型还有divmod方法,它也是除的运算符,只是返回值是数组的形式,第一项是商,第二项是余数。

    ================================

    p 16.divmod(5)           #=> [3,1]

    ================================

    3) Math模块和round方法。 ruby提供了Math模块,但和一般语言不同的是,round、ceil和floor方法并不是从属于Math模块的,而是直接绑定在数值类上的。Math模块提供的方法有sin、cos、tan、asin、acos、atan、exp、log、log10和sqrt。数值类型的对象转换可以用 to_f、to_i方法。浮点型转整型会直接去掉小数点后的值。字符串调to_i方法相当于js中的parseInt方法。

    ================================

    f = 4

    p Math.sqrt(f)           #=> 2

    include Math

    p sqrt(f)                   #=> 2

    p   10.to_f                       #=> 10.0

    p   10.8.to_i                   #=> 10

    p    "123".to_i                  #=> 123

    p    "123abc".to_i            #=> 123

    p    "abc123".to_i           #=> 0       (不是nil哦)

    p    1.2.round                 #=> 1

    p     1.2.floor                 #=> 1

    p     1.2.ceil                    #=> 2

    ================================

    3) 循环。 数值类型可以直接用来循环。

    ================================

    ary = []

    3.times{|i| ary << i}

    p ary          #=>[0,1,2]

    ary = []

    2.upto(5){|i| ary << i}

    p ary          #=>[2,3,4,5]

    ary = []

    5.downto(2){|i| ary << i}

    p ary          #=>[5,4,3,2]

    ary = []

    10.step(20,3){|i| ary << i}

    p ary           #=>[10,13,16,19]

    10.step(2,-3){|i| ary << i}

    p ary           #=>[10,7,4]

    ================================

  • 相关阅读:
    了解一下下MFC基础中的基础
    【看书】浮点数陷阱
    [bbk4766] 第29集 第三章 Flashback Table 06
    [bbk4778] 第31集 第三章 Flashback Table 08
    [bbk4793] 第36集 第四章 Flashback Database 00
    [bbk4774] 第30集 第三章 Flashback Table 07
    [bbk4759] 第28集 第三章 Flashback Table 05
    [bbk4788] 第35集 第三章 Flashback Table 12
    [bbk4754] 第27集 第三章 Flashback Table 04
    [bbk4781] 第32集 第三章 Flashback Table 09
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426914.html
Copyright © 2020-2023  润新知