以下の内容はhttps://unageanu.hatenablog.com/entry/20091208/1260276180より取得しました。


修飾子の優先順位

if修飾子とrescue修飾子を両方つけるとどうなるか、という話。以下のコードを実行すると、

puts "aaa" if true rescue puts "xxx"
puts "bbb" if false rescue puts "xxx"

raise "aaa" if true rescue puts "xxx"
raise "bbb" if false rescue puts "xxx"


puts "aaa" rescue puts "xxx" if true 
puts "bbb" rescue puts "xxx" if false 

raise "aaa" rescue puts "xxx" if true 
raise "bbb" rescue puts "xxx" if false 

次の結果になります。

aaa
xxx
aaa
xxx

どうも、並び順ではなく優先順位的なものがあってそれにしたがって評価されるみたいですね。で、「if > rescue」と。また、「()」で順番を変更することも可能なようです。

puts "aaa" rescue ( puts "xxx" if true )
puts "bbb" rescue ( puts "xxx" if false )

raise "aaa" rescue ( puts "xxx" if true ) 
raise "bbb" rescue ( puts "xxx" if false  )

実行結果です。

aaa
bbb
xxx

ふむ。




以上の内容はhttps://unageanu.hatenablog.com/entry/20091208/1260276180より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14