Skip to content

块,打包创建时的本地变量引用 #12

@duangsuse

Description

@duangsuse

rt, Lite 不支持这种代码:

def a
  @fucking_text = 'deep'
  return ->() { "It's fucking #{@fucking_text} " }
end

puts a().call

可是,其实 Ruby 里的块是在创建时打包当前本地变量的,所以你可以让块携带着本地变量的引用跨越词法作用域的大门, Lite 里这不可能。

def fucking_deep
  @fucking_text = 'deep'
  return { "It's fucking $@fucking_text" }
end

puts funcking_deep().call()

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions