Rubyの予約語を取得する方法

Rubyの予約語を取得するワンライナーを知った。いくつか疑問があるので忘れないように残しておく。

RubyToken::TokenDefinitions.select { |definition| definition[1] == RubyToken::TkId }.map { |definition| definition[2] }.compact

しかし、v2_7_0_preview3 でファイルが削除されていることから要注意である。

github.com

また、予約語の__ENCODING__が取得できないという問題もある。

これに関しては、ブログにてRuby1.9前後で削除されるようになった可能性がある。

改訂2版 パーフェクトRuby

改訂2版 パーフェクトRuby

  • 作者:Rubyサポーターズ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/05/17
  • メディア: 大型本