有人可以告诉我为什么以下代码出错:
def pickerView(pickerView, didSelectRow:row, inComponent:component)
@myLabel.text = "#{row+1}"
end
def remain
@remainLabel.text = @myLabel.text
end
def left
remain.to_i (+1)
end
我打电话给"左边"方法通过按钮点击,但我得到"无效的基数1"作为一个错误。我尝试了各种不同的配置,包括有和没有括号和有和没有空格。基本上,无论我做什么,我都会得到一个错误,或者只是选择的数字来自选择器,而不添加1。
答案 0 :(得分:1)
你想:
remain.to_i + 1
方法remain
返回一个字符串,即@myLabel.text
中的字符串。当你写:
remain.to_i (+1)
Ruby认为您将参数(+1)
传递给to_i
方法。事实证明,to_i
确实采用了一个参数,它是您希望它用来解释字符串的基础(或基数)。
puts "FF".to_i(16) // prints "255"
puts "101".to_i(2) // prints "5"
Base 1是无效的base,因此无效的radix消息。默认基数为10,所以
puts "123".to_i(10) // prints "123"
puts "123".to_i // prints "123"