新手问题 Array 的创建

wlon · 2014年04月27日 · 最后由 douxiance 回复于 2015年08月21日 · 2271 次阅读

学习 Rails 中看到一个 gem 使用了如下的语法 custom_settings = :new_record, :allow_destroy, :heading, :sortable 咋一看,没弄到是什么类型的定义 然后再 pry 中试一下

[1] pry(main)> custom_settings = :new_record, :allow_destroy, :heading, :sortable
=> [:new_record, :allow_destroy, :heading, :sortable]
[2] pry(main)> custom_settings.class
=> Array

是 Array 的声明,问了下群里的朋友说是 Array 的定义语法糖,但是我 google 了一下也没找到类似的资料说明 Array 有这种声明,目前就知道 [ ] 和 %w.

求助各位同学予以证实。

兹证明楼主所言属实。

并行赋值。 当只有一个左值但是有多个右值时,Ruby 会创建一个数组来容纳所有右值,并且将这个数组赋给左值。

谢谢#2 楼的解释,在 programming ruby 中查到了相应的解释了。

这不是什么好用法,就该用 [] 包起来。

同意楼上 #4 楼 观点。

豁然开朗!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号