在ruby中键入转换为整数

时间:2017-08-20 08:32:37

标签: ruby type-conversion

我正在使用最新的ruby版本[ruby 2.4.1p111]

我得到'123'.to_i +12的结果为171

irb(main):021:0> '123'.to_i + 12
=> 135
irb(main):022:0> '123'.to_i +12
=> 171
irb(main):023:0> 123 + 12
=> 135
irb(main):024:0> 123 +12
=> 135

你能帮我理解第二次操作。

2 个答案:

答案 0 :(得分:3)

您最后在第二个示例中调用unary plus运算符,

  

返回接收者的值

然后你最终(基本上):

function* mySaga() {
    let action = yield call(requestDownload, 'blah_url')
    try {
        let data = yield action.promise
    } catch(err) {
        // deal with error
    }
}

从那时起,to_i接受了一个参数'123'.to_i 12 ,你最终将base转换为基数为12的整数,显然是171。

答案 1 :(得分:2)

to_i可以接受参数,基数,默认值为10.

你做的是:

'123'.to_i(12)

String#to_i