あるブロックをrubyチックにリファクタリングしようとしているのですが、
思うように動かず、質問させて頂きました。
やりたいこととしては、
Hashのvalueにarrayが入り混じっており、
存在する場合、arrayの要素数を取得して、
eachを抜けようとしています。
Ruby
1# data 2=begin 3{ 4 "a" : ["", 2], 5 "b" : [2, ""], 6} 7=end 8 9 10# 元 11data.each do |key, val| 12 if val.is_a?(Array) 13 _arrLen = val.length 14 15 break 16 end 17end 18 19# 理想? 20data.each{|k, v| _arrLen = v.size break if v.is_a?(Array)}
理想のbreak
を外せば当然動くのですが、
break
をつけると、「void value expression」とエラーが表示されます。
break if
と書くと、一つのコードとして解釈されるのでしょうか。
Rubyは2.3を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/12 03:32
2016/12/12 03:44 編集
2016/12/12 03:54 編集
2016/12/12 08:26
2016/12/12 08:31