笹田さんがツイートしておられた。
ホント意味不明。これ実行できるのかと思って試してみた。# よくわからないプログラム
— _ko1 (@_ko1) 2018年2月27日
def foo a
return true if a
else return false
end
$ pry [1] pry(main)> def foo a [1] pry(main)* return true if a [1] pry(main)* else return false [1] pry(main)* end (pry):4: warning: else without rescue is useless => :foo [2] pry(main)> foo true => true [3] pry(main)> foo false => false
なるほど、ここでの else は begin ~ rescue ~ else ~ ensure ~ end の else と解釈されるのか。ちゃんと実行できるのね。