あれ、そうなんだ!というの、原理としてはなんとなくわかるが情報のソースがないのでとりあえずできるよというところまで
環境
$ ruby -v ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18]
コード例
def kicker(array) vals = array.each_with_object([]).with_index do |(value, result),index| result << value / value rescue p "Error!" end vals << 10000 vals end p kicker([10,20,30]) p kicker([10,0,20,30])
$ ruby test.rb [1, 1, 1, 10000] "Error!" [1, 1, 1, 10000]
参考リンク
Ruby 2.5ではブロック内でも例外処理のbegin/endが省略できるようになるらしい。便利~!
— Junichi Ito (伊藤淳一) (@jnchito) August 7, 2017
[1, nil, 3].each do |n|
puts n.odd?
rescue => e
puts e
endhttps://t.co/G9WdKI6oVr