扭曲的框架需要一些澄清

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扭曲的框架需要一些澄清相关的知识,希望对你有一定的参考价值。

虽然我正在编写关于“编写服务器”的扭曲框架教程中的代码,但我通过以下代码行来找到了我的困惑。

class Chat(LineReceiver):
    def __init__(self,users):
        self.users = users

class ChatFactory(Factory):

    def __init__(self):
        self.users = {} # maps user names to Chat instances
    def buildProtocol(self, addr):
        return Chat(self.users)

任何人都可以解释,当Chat类中的self.users更新时,ChatFactory类中的self.users如何得到更新。

答案

在:

f = ChatFactory()
p = f.buildProtocol(some_address)

表达式f.usersp.users指的是同一个字典。这是因为ChatFactory.buildProtocolself.users传递给Chat初始化器,而Chat初始化器保存了对它的引用。

因为它是相同的字典,所以没有什么能够导致在更新另一个时更新,因为“一个”和“另一个”实际上是同一个东西。

以上是关于扭曲的框架需要一些澄清的主要内容,如果未能解决你的问题,请参考以下文章

澄清 node.js + promises 片段

如何使用javascript修复HTML画布对象中的扭曲/扭曲和剪切图像?

OpenGL - 需要一个简单的概念澄清

澄清我被分配的一些javascript任务[关闭]

常用Javascript代码片段集锦

Flutter - Cubit 和一些需要澄清