Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Kernel.#at_exitで終了時の挙動を記述する

そう滅多に使うものではないでしょうが…Kernel.#at_exitを使うと、終了時の挙動を記述することができます。

$ pry
[1] pry(main)> at_exit {puts "出かける時は鍵を忘れずにね(戒め)"}
=> #<Proc:0x007fabc1be71b0@(pry):1>
[2] pry(main)> "hoge" + "fuga"
=> "hogefuga"
[3] pry(main)> 1 * 4
=> 4
[4] pry(main)> exit
出かける時は鍵を忘れずにね(戒め)

たくさん定義することもできます

$ pry
[1] pry(main)> (1..9).each {|i| at_exit {puts i}}
=> 1..9
[2] pry(main)> (0..100).inject(&:+)
=> 5050
[3] pry(main)> exit
9
8
7
6
5
4
3
2
1