ruby - 在 Ruby 中,逗号后跟等号是什么意思?

标签 ruby

刚刚在一些 Ruby 代码中看到类似这样的东西:

def getis;gets.split.map(&:to_i);end

k,=getis # What is this line doing?
di=Array::new(k){Array::new(k)}

最佳答案

它使用 Ruby 的 multiple assignment 分配数组的第一个元素:

a, = [1, 2, 3]
a #=> 1

或者:

a, b = [1, 2, 3]
a #=> 1
b #=> 2

您可以使用 * 来获取剩余的元素:

a, *b = [1, 2, 3]
a #=> 1
b #=> [2, 3]

或者:

*a, b = [1, 2, 3]
a #=> [1, 2]
b #=> 3

关于ruby - 在 Ruby 中,逗号后跟等号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27058014/

相关文章:

ruby-on-rails - 如何使下拉菜单中的每个选项成为与 simple_form 调用关联的链接?

ruby-on-rails - 测试目录与 Rspec 一起存在

mysql - 呸!我在 ruby​​ 1.9.2 的 Rails 中不断收到此编码错误

ruby-on-rails - 带有 nokogiri 的空 html

ruby - 在 ruby​​ 中使用 GetDIBits 函数时遇到问题

javascript - 如何使用 intro.js 重定向到

ruby-on-rails - heroku push 上的 Ruby 版本更改

ruby-on-rails - 是否有专门针对 rails 5.2.3 的 Rubocop 配置?

ruby-on-rails - 如何在不实例化 Ruby 中的 A 对象的情况下确定类 A 是否继承自类 B?

ruby - 使用 wice_grid Ruby On Rails 列中的多个链接