问题标签 [class-instance-variables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Ruby类变量范围问题
好的,所以我已经阅读了 Ruby 中的类变量、类实例变量和实例变量。我发现Phrogz 的这个解释很有启发性。
现在我正在尝试向我的类中添加一个变量,该变量可由我的类中的多个方法访问,但它不在类的多个实例之间共享:
我想要的是这个:( 就像@my_things
在Phrogz 的例子中)
我是否正确假设,目前我正在定义 4 个不同@index_changed
的变量,每个变量都在它们各自方法的范围内,但对类的其余部分不可见?
但是,如果我将@index_changed
方法之外的变量声明为类实例变量,那么它不会在类实例之间共享吗?
python - python类变量可以用作类变量和实例变量吗?
使用 Django Framework 和 Djano Framework 的模型后,我很困惑
正如我们所见,first_name、last_name 和 email_address 被创建为类变量,但在 dunder str () 方法中,它们与 self 作为实例变量一起使用
所以我的问题是在声明为类变量的 Python 变量中是否可以同时用作“类变量”和“实例变量”。
提前感谢您并感谢您阅读我的问题。
ruby-on-rails - 在 Rails 中为布局类实例变量选择控制器
我有一个 DateTime 类实例变量@current_year = DateTime.now.year
,我已将其设置为页脚部分。这个部分是在我的几个客户端页面上呈现的(以及在<%= render 'layouts/page_footer' %>
页面主体中的多个控制器上 - layout/application.html.erb 页面保留用于站点导航,因此格式不会在那里适应它。虽然我可以为它出现在控制器中的每个页面方法声明它,我会发现一些更干燥的东西。是否有一个地方可以定义我的时间变量以在我的布局组件中调用?
ruby - instance_variable_set 没有在实例中设置正确的变量
我有一个使用 Ruby 测试的 API 端点。我有 8 个测试,如下所示:
当您 POST 到 时/api/endpoint/
,它会生成一个RateLimit
包含validate_rate?
方法的类,并使用一个实例变量,@timestamp
该实例变量是调用 API 时的时间戳数组。
RateLimit
将包含以下@timestamp
实例变量以及以下validate_rate?
将与之进行比较的时间戳示例。
但是,在每次测试运行之前,我必须清除@timestamp
数组,否则数组将包含以前测试的时间戳,这当然会破坏测试结果
因此,我尝试@timestamp
在每次测试运行之前以before
块的形式将数组设置为新数组。
我目前遇到的问题是,由于该RateLimit
实例不是在此测试中专门创建的,所以当我调用 时,如果这有意义post /api/endpoint/
,我似乎无法设置变量。@timestamp
它确实将 a 设置@timestamp
为[]
,但它没有设置在我运行实际测试时创建的特定实例
我想保持@timestamp
私有,所以我不想创建一个让我获取或设置这个私有变量的方法,所以我唯一的选择似乎是instance_variable_set
.
java - 为什么静态绑定的方法不涉及类的 CIR(类实例记录)而动态绑定的方法是?
我在 Sebesta 中读到静态绑定方法不需要存储在 CIR 中,但我不知道为什么。如果它没有存储在 CIR 中,编译器如何知道引用了哪个静态绑定方法以及存储在哪里?
python - 在 python 中作为模块调用时,类如何继承 tk.frames
我是一个tk
新手,在导入类和让它们继承框架时遇到了麻烦。如果我将所有代码堆叠在一个文件中,它就可以工作。类似的东西(我在 Github 上找到了这个,抱歉没有注明出处),
但是,如果我尝试分解代码以便可以在目录和子目录中导入模块,则会出现错误,因为我不明白如何传递帧。例如,如果我将 Clock 类放在一个文件中modules/clock/Clock.py
(是的,我包含__init__.py
在所有目录中)并将代码更改为
我得到错误
如何设置代码以便将代码分解为模块并传递 tk.Frame?
c++ - c++中的层次抽象
我的代码中有以下抽象:
现在,当我声明 C 类的一个实例时,一切正常。问题是当我在一个函数(带有新的)中声明类 C 并将它作为指针返回时。我没有收到任何错误,但似乎该对象不具备 A 类的特征。是否可以在函数中执行此操作?
django - Django 字段实例覆盖彼此的参数
我正在测试和准备一个新的 Django 包,用于在 Django ORM 和 DRF 中使用带有 Text 和 Char 字段的漂白剂。然而,我遇到了一些障碍,它让我停下来想知道我是否真正理解模型字段是如何实例化的。希望有人可以解决这个问题。
我通过从 django.conf.settings 加载默认设置字典来初始化漂白的参数,然后检查 field_args 参数以查看是否已针对特定字段定义覆盖任何参数,如下所示。然后在 pre_save 函数中使用它来调用漂白:
我遇到的问题是self.args
模型上所有字段的值似乎是模型上加载的最后一个字段的值。例如,在这个模型上:
在这个模型body
上,作为模型最后一个字段的字段覆盖了它之前的所有 BleachCharField 和 BleachedTextField 实例的 self.args,因此它们都采用相同的参数。
我错过了什么吗?self.args 不是被添加到字段中,而是被添加到模型实例中吗?这就是为什么最后一个字段设置会覆盖所有字段设置的原因吗?我应该怎么做才能避免这个问题?
更新:
为了更加清晰,我添加了 BEACHFIELDS 默认字典和 PERMISSIVE_BLEACHFIELDS 字典:
ruby - 为每个子类创建父类变量的新实例
我有这个父类:
我正在尝试像这样创建两个子类:
我的印象是这些子类中的每一个都有自己的@@list
类变量。但是,我明白了:
这意味着子类共享@@list
父类的。
如何为每个子类创建一个单独的类变量而不重复?
ruby - 为什么 Struct/Class 实例的相等检查不同?
我不明白结构和类相等检查之间的区别。由于 Struct 和 Class 都从 Kernel 获取它们的#hash,但它们的行为似乎不同。
我知道 instance.hash 将为每个类实例产生不同的结果。与类实例 [Foo, Object, Kernel, BasicObject] 相比,Struct 实例具有不同的祖先 [Customer, Struct, Enumerable, Object, Kernel, BasicObject]。是什么真正导致每个 Class 实例具有不同的哈希数
Struct 和 Class 都使用 Kernel 来生成 hash_number。为什么 Class 的不同实例会产生不同的 hash int 而 Struct 实例会产生相同的 hash int?