新手问题 Array 的创建

wlon · April 27, 2014 · Last by douxiance replied at August 21, 2015 · 2268 hits

学习 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 楼 观点。

豁然开朗!

You need to Sign in before reply, if you don't have an account, please Sign up first.