class DSL::Var
常量
- PRETTY_PRINT_INSTANCE_VARIABLES
属性
to_s[R]
value[R]
var[R]
公共类方法
new(table, arg) { |arg| ... } 点击切换源代码
# File ripper/tools/dsl.rb, line 85 def initialize(table, arg, &block) @var = table.new_var @value = yield arg @table = table end
公共实例方法
[](idx) 点击切换源代码
索引。
$:1 -> v1=get_value($:1) $:1[0] -> rb_ary_entry(v1, 0) $:1[0..1] -> [rb_ary_entry(v1, 0), rb_ary_entry(v1, 1)] *$:1[0..1] -> rb_ary_entry(v1, 0), rb_ary_entry(v1, 1)
Splat 需要 ‘[range]`,因为 `Var` 没有长度信息。
# File ripper/tools/dsl.rb, line 99 def [](idx) if ::Range === idx idx.map {|i| self[i]} else @table.fetch("#@var[#{idx}]") {"rb_ary_entry(#{@var}, #{idx})"} end end
pretty_print_instance_variables() 点击切换源代码
# File ripper/tools/dsl.rb, line 79 def pretty_print_instance_variables PRETTY_PRINT_INSTANCE_VARIABLES end