ruby - 如何用gets设置多个变量

标签 ruby

我想从单个 gets 行设置三个变量 abc。例如,用户输入一行以空格分隔的数字 "1 2.2 -3.14" 会将 a 设置为 1b2.2c 分别到 -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/

相关文章:

Ruby 线程不打印 kafka 消息

ruby-on-rails - 针对审核中的更改查看 Rails 撤消链接

ruby-on-rails - 如何对对象数组进行排序?

ruby - 如果||优先级高于=,那为什么 `a || a = b`起作用呢?

Ruby Mixin 对对象的依赖

ruby - 如何遍历整数的数字?

ruby - 为什么在 Ruby 中不鼓励使用 else 语句?

javascript - 用 flash[ :notice] using right. js 的内容刷新一个 div?

ruby-on-rails - Capybara + Poltergeist with Database-cleaner 找不到 FactoryGirl 记录

ruby 无限循环