🌊
[Feature #21361] Ruby コードの実行ファイルと実行行を設定できるようにする提案
[Feature #21361] Set execution file and line
- Ruby コードの実行ファイルと実行行を設定できるようにする提案
- 雰囲気以下のような感じで設定できるようにするイメージ
- 定数で定義する:
__LINE__ = 5; __FILE__ = "foo.erb" - マジックコメントで定義する:
# source: 5 foo.erb - Prism でテンプレートされた Ruby や ERB で利用したい感じなんですかね?
- これに対してそもそも Ruby のコードを生成することは推奨したくない(この機能があることで推奨につながる)みたいな反対コメントがされていますね
- https://bugs.ruby-lang.org/issues/21361#note-1
- またこれに対応する実装面だと『1つの iseq には1つのファイル名しか存在しないことが前提になっている』ようで対応コストも高いみたいですね
- https://bugs.ruby-lang.org/issues/21361#note-2
- iseq に関してはマジックコメントとかで1ファイル1つだけで回避できたりするんですかね?
- 個人的にはこれが有効なユースケースはあんまり思い浮かばなかった
Discussion