🌊

[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つだけで回避できたりするんですかね?
  • 個人的にはこれが有効なユースケースはあんまり思い浮かばなかった
GitHubで編集を提案

Discussion