问题标签 [class-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.

0 投票
3 回答
289 浏览

java - 为什么我的计数器在循环中递增,但返回零?

在我当前的项目中,我必须记录插入到TreeMap<String, TreeSet<Song>>. 该项目是在一个字符串中运行单个单词的搜索,在这种情况下是歌词。我有三个测试来确定地图插入的过程,我的算法是:

  • 测试单词是否有多个字符并且不是常用单词
  • 如果 map 已经包含该单词作为键,则测试 set 是否已包含该歌曲
  • 如果为真,则增加插入计数器
  • 如果地图不包含单词作为键
    • 创建新节点,添加歌曲设置
    • 递增计数器

我将计数器声明private double insertions;为类变量。

它在构造函数中初始化:

buildMap 方法:

为什么在一个方法中修改了一个类变量,而不是在另一个方法中给出正确的值?

0 投票
3 回答
13530 浏览

ruby - 从外部访问类的实例变量

我理解(我认为)Ruby 中类变量和类的实例变量之间的区别。

我想知道如何从该类的外部访问该类的实例变量。

从内部(即在类方法中而不是在实例方法中)可以直接访问它,但是从外部,有办法MyClass.class.[@$#]variablename吗?

我没有这样做的任何具体原因,只是学习 Ruby 并想知道是否可能。

0 投票
2 回答
1159 浏览

python - 在类之间传输变量

我有 2 个类对相同的变量进行操作,但彼此相反。有没有一种方法可以在它们之间传输变量,而无需对每次交换进行硬编码或将所有值组合到一个数组中?组合类不是一种选择。

class1我希望能够快速地来回发送数据class2

0 投票
2 回答
3246 浏览

ruby - 如何从ruby中的内部类访问外部类的类变量

我在下面的 Ruby 中有一些代码:

运行后它会抛出一个错误,如下所示:

A::B 中未初始化的类变量 @@lock (NameError)

如果我想知道如何从内部类B的方法中访问外部类A的类变量@@lock,该怎么做?先感谢您。

0 投票
2 回答
484 浏览

python - Python中的类变量和实例变量问题

当我有这个类时,变量“值”是类变量。

我有一个对象“h”,对于 Hello.value 和 h.value,我可以得到相同的值“10”。

当我运行这个命令时,

当我运行它们时,我得到值“10”和“20”。

为什么是这样?

  • Q1 : 为什么 'print h.value' 打印出 Hello.value 的值,而不是报错?
  • Q2:h.value = 20 是否引入了一个类似于'self.value = 20'的新变量?
  • Q3:有没有办法防止创建实例变量(或防止运行代码'h.value = 20')?
0 投票
1 回答
500 浏览

ruby - 访问 Struct.new 块中的类变量

我正在使用 Struct.new 动态创建新类(我们正在使用一些实体建模中间件,我想动态生成具体类型以进行序列化)。

本质上我有这个代码:

运行测试时出现此错误:

test2.rb:17:in initialize': uninitialized class variable @@base in Test::C (NameError) from test2.rb:24:innew' 来自 test2.rb:24:in `'

根据我对 Struct.new 的理解,该块是在正在创建的类的上下文中执行的,因此 @@base 应该是可解析的。

谢谢你的时间!

编辑:谢谢 - 我做了 init_on self.init_on 并使用了 class_variable_set 而不是 instance_variable_set。现在可以了!

0 投票
2 回答
1628 浏览

php - CakePHP 在运行时更改虚拟字段

我有一个用于多站点应用程序的产品模型。

根据域(站点),我想加载不同的数据。

例如,我的数据库中没有name和字段,而是有 posh_name、cheap_name、posh_description 和cheap_description。description

如果我这样设置:

然后它总是有效的,无论是直接从模型访问还是通过关联访问。

但我需要虚拟字段因域而异。所以首先我创建了我的 2 套:

所以这些是我的 2 套,但我如何根据域分配正确的一套?我确实有一个名为的全局函数isCheap(),它可以让我知道我是否在低端域中。

所以我尝试了这个:

这给了我一个错误。显然,您不能像这样在类定义中分配变量。

所以我把它放在我的产品模型中:

这仅在直接从模型访问数据时有效,在通过模型关联访问数据时无效。

必须有办法让它正常工作。如何?

0 投票
3 回答
63 浏览

objective-c - 在Objective-C中访问其他对象内部对象属性的正确方法

我有一个单例类 SharedDataObject,它有另一个类对象 myClass。MyClass 也有 BOOL 变量。我为 MyClass 和 myClass 实例变量提供了访问器(非原子,保留)和(分配,读写)。我也合成了它们中的每一个。但是当我访问它们以读取值或写入值时

或者

它给了我以下警告:

但我可以读取和写入值。我想删除警告。我究竟做错了什么?或者如果访问它的方式错误?

类声明是:

0 投票
3 回答
845 浏览

java - 变量定义中关键字的顺序是否重要?

顺序有没有区别:

或者

?

0 投票
8 回答
14510 浏览

php - 获取实例的静态属性

如果我在 PHP 中有一个实例,那么获取该实例的静态属性(“类变量”)的最简单方法是什么?

听起来真的过分了。我希望

或者

编辑:这是一个老问题。在较新的 PHP 中有更明显的方法可以做到这一点,请在下面搜索。