我想从单个 gets
行设置三个变量 a
、b
和 c
。例如,用户输入一行以空格分隔的数字 "1 2.2 -3.14"
会将 a
设置为 1
,b
到 2.2
和 c
分别到 -3.14
。我是这样实现的:
input = gets.strip.split
a,b,c = input[0].to_f,input[1].to_f,input[2].to_f
是否有更优雅的方法将数组条目分配给一系列变量?也许是有啪啪声和循环的东西?
input.each {|entry| *(a..z) = entry }
最佳答案
a,b,c = "1 2.2 -3.14".split.map(&:to_f)
# => [1.0, 2.2, -3.14]
b
# => 2.2
关于ruby - 如何用gets设置多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23721473/