Project

General

Profile

Bug #15648

Updated by nobu (Nobuyoshi Nakada) over 5 years ago

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

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

 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` Ripper::Filter に 
 > Ruby プログラムを解析して、`Ripper::SCANNER_EVENTS` プログラムを解析して、Ripper::SCANNER_EVENTS にあるスキャナ イベントを実行します。 

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

Back