Ruby の $ERROR_INFO などの特殊変数は require 'English' が必要だったのか
先日会社の tech channel で話題になったのでメモ。Rubiest の方々にとっ ては常識なんですかね…? $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin15] $ ruby -e 'raise "aaa" rescue p $!' #<RuntimeError: aaa> $ ruby -e 'raise "aaa" rescue p $ERROR_INFO' nil $ ruby -r English -e 'raise "aaa" rescue p $ERROR_INFO' #<RuntimeError: aaa> Ruby はグローバル変数の初期値が nil なのがたちが悪い。個人的にはも う $ERROR_INFO とかは使わないと思う。 ...