Sinatra 代理变量域

2023-12-20 15:44 更新

代理变量域只是把方法转送到类变量域。可是,他并非表现得 100% 类似于类变量域,因为你并不能获得类的绑定:只有显式地标记为供代理使用的方法才是可用的,而且你不能和类变量域共享变量/状态。(解释:你有了一个不同的 ​self​)。你可以显式地增加方法代理,通过调用 ​Sinatra::Delegator.delegate :method_name​。

在以下情况将获得代理变量域:

  • 顶层的绑定,如果你做过 require "sinatra"
  • 在扩展了 ​Sinatra::Delegator​ mixin 的对象

自己在这里看一下代码:Sinatra::Delegator mixin 已经 被包含进了主命名空间


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号