読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

修飾子の優先順位

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

ふむ。