これを行うためのよりクリーンな方法がありますか?シンボルの配列を作成
%w[address city state postal country].map(&:to_sym)
#=> [:address, :city, :state, :postal, :country]
私は%s
は、私が望んで行われているだろう考え出しただろうが、それはしていません。括弧の間にあるすべてのものを取り、そこから大きなシンボルを1つ作ります。
ちょっと迷惑です。
これを行うためのよりクリーンな方法がありますか?シンボルの配列を作成
%w[address city state postal country].map(&:to_sym)
#=> [:address, :city, :state, :postal, :country]
私は%s
は、私が望んで行われているだろう考え出しただろうが、それはしていません。括弧の間にあるすべてのものを取り、そこから大きなシンボルを1つ作ります。
ちょっと迷惑です。
私は11月9日に元の答えを返しましたが、starting from Ruby 2.0という記号の配列を作成する方法があります。これはリテラルです:
%i(address city state postal country)
正確に何をしますか? (ルビー2.0の後)空白で区切られたシンボルの非補間アレイ、
%I[ ]
(ルビー2.0の後)空白で区切られたシンボルの補間された配列、
%i[address city state postal country]
リテラルになる危険性があるため、シンボルの配列を作成する最もクリーンな方法は、シンボルの配列を使用することです。
fields = [:address, :city, :state, :postal, :country]
これ以上は簡潔であるとは考えられません。
+1、シンプルでストレートポイントを参照してください。 –
「あまりにもリテラルな」という意味ですか? –
私は常に物事を行う最も強力で簡潔な方法を見つけて使うのが好きです。この回答は実際にはこの特定のリストのための私のものよりもキーストロークが少ないですが、〜9個以上のアイテムのリストでは、代替が短くなります。答えをありがとう。 :) – Drew
%i[ ]
クリーンな方法これを行うには:
%w[address city state postal country].map(&:to_sym)
「dir ty 'これについて? –
それはかなり標準です。この方法を望ましくないものにする実装について何かありますか? – dwhalen
"本当に"ではありませんが、Railsはしばしばこのような構文的な砂糖を持っています。 :) – Drew