scope(locals: [], forwarding: []) -> Prism::ScopeRuby 4.0 から[permalink][rdoc][edit]-
解析対象のソースコードの周囲にあるものとして扱うローカル変数と、そこから転送されるパラメータの情報をまとめた
Prism::Scopeのインスタンスを作成します。作成したオブジェクトは Prism?.parse などの
scopes:オプションの要素として渡します。evalのように、周囲のスコープで定義済みのローカル変数を引き継いで解析したい場合に使います。- [PARAM]
locals: - そのスコープで定義済みとみなすローカル変数名をシンボルの配列で指定します。省略した場合は空配列です。
- [PARAM]
forwarding: -
そのスコープから次のスコープへ転送されるパラメータの種類を、
:*・:**・:&・:"..."のいずれかのシンボルからなる配列で指定します。省略した場合は空配列です。
require "prism" scope = Prism.scope(locals: [:x]) result = Prism.parse("x + 1", scopes: [scope]) p result.value.statements.body[0].receiver.class # => Prism::LocalVariableReadNode[SEE_ALSO] Prism?.parse
- [PARAM]