Project

General

Profile

Bug #15648

Updated by freedom (free dom) about 5 years ago

Ripper::Filterにて <<~ 形式のヒアドキュメント文字列を解析した際に ignored_sp イベントが実行されますが、Ripper::SCANNER_EVENTS には含まれていません 

 ruby -e "require 'ripper';p Ripper::SCANNER_EVENTS.grep(/ignore/)" 
 [:ignored_nl] 

 ruby -e 'require "ripper";class RipperT < Ripper::Filter;def on_default(event, tok, f);p event;end;end;str="<<~TEST\n    :test\nTEST";RipperT.new(str).parse' 
 :on_heredoc_beg 
 :on_nl 
 :on_ignored_sp 
 :on_tstring_content 
 :on_heredoc_end 

 リファレンスマニュアル の Ripper::Filter に 
 > Ruby プログラムを解析して、Ripper::SCANNER_EVENTS にあるスキャナ イベントを実行します。 

 
 と書かれているため、含まれているのが適当だと考えます

Back