从单行用户输入将字符串拆分为整数?

时间:2010-12-24 12:09:21

标签: ruby user-input split

我刚开始学习一些红宝石,我想做这样的事情:

print "Insert two numbers: "
a, b = gets.split(" ")

但是我想让a和b同时成为整数(在同一行)..如果我将.to_i添加到第二行(split(" ")之前或之后),它不起作用......所以,我该怎么做呢?映射,分裂,切片?好吧,我知道我可以使用scanf,但除了scanf之外,我该怎么做?

抱歉这样一个无聊的问题,但我找不到一个足够好的答案,只能谷歌搜索...

2 个答案:

答案 0 :(得分:5)

a, b = gets.split(" ").map(&:to_i)

或更普遍:

a, b = gets.scan(/\-?\d+/).map(&:to_i)

答案 1 :(得分:1)

a , b = gets.split.map { |num| num.to_i }

这应该有效