2011-07-20 2 views
0

にはどうすればマップ(&:名)を使用しない場合速記場合ルビー速記+地図速記

condition ? map(&:name) : name

内の速記を?

ruby​​が最初のコロンを評価しようとしていますが、構文エラーが発生しました。

+1

はあなたの問題を示し、完全な、作業のコードスニペットを追加することはできますか? – maerics

答えて

1

それはあなたの問題があるが、ここで「map(&:name)は」条件内で使用するための方法であるかを正確には不明だ:

require 'ostruct' # For demonstration using OpenStruct. 
arr = [OpenStruct.new(:name => 'Foo'), 
     OpenStruct.new(:name => 'Bar'), 
     OpenStruct.new(:name => 'Gah')] 
name = 'Testing' 
(true ? arr.map(&:name) : name) # => ["Foo", "Bar", "Gah"] 
(false ? arr.map(&:name) : name) # => "Testing" 
+0

ありがとう、式をかっこで囲みます。 – rubies