|
2
|
| Amin Shah Gilani · 技术社区 · 6 年前 |
|
|
1
5
所以在 按时间顺序的 秩序:
您的代码相当于:
你可以使用
输出:
如您所见,数组文字不会影响当前嵌套。两个位置的常量将在下定义
如果您真的想“在”数组中声明常量(即在数组的singleton类中),可以这样做:
以上只是为了演示的目的,实际上不需要这样做。 |
|
|
2
2
我可以理解它是如何令人困惑的,但除了不鼓励将值重新分配给常量之外,在范围方面,实例变量和常量极其相似。 第一类声明中的视觉技巧是在数组中声明常量。 首先:理解当您声明一个常量时,返回的值就是您的定义。例如。
现在,让我们看看常量声明:
声明的
但你更进一步,在定义中声明了一个常量。现在请理解 实例变量和常量的范围相似 ,它与声明它的实例绑定,因此 在任何地方声明常量都会将其绑定到实例。
通过执行
如果您更习惯于实例变量_
这些工作按预期进行
但这也是可行的。
实际上,这三个都在示例类的范围内。
关键是,如果我用一个额外的方法扩展类:
它像正常一样访问实例变量。
|
|
3
2
我在Ruby___编程书中找到了这个,第94页:
结论,一个类中不能有两个同名常量,一个在数组内部,一个在外部。所以您不需要范围来访问它,因为范围是整个类。 您不需要常量数组中的常量,因为数组是常量,其内部值___也是常量。 |
|
4
2
简短的回答可能是: 您的代码相当于:
通过一些测试:
*:顶级常量(=类或模块外部定义的常量)似乎存储在
|
|
|
5
1
你的答案在你的问题中。
这里有3个常量(
和
即使将方法添加到类中,它也不会发生任何变化。
|
|
|
6
0
数组定义不是块。它不在数组的作用域中运行。 这与以下情况没什么不同:
如您所见,范围不会改变:
赋值返回赋值:
你不能“储存”类似的东西
|
|
|
Utkonos · 如何将Python枚举公开为不带类名的“常量” 1 年前 |
|
|
Yugraaj Sandhu · 把const作为引用和值有什么区别? 1 年前 |
|
|
user246392 · 泛型参数在中没有匹配的注释。净8 AOT 1 年前 |
|
Fyodor · 避免GCC编译器“不兼容的指针类型”警告 2 年前 |
|
|
semicolon_missing · 指针的常量引用 2 年前 |
|
|
Sasha · C: void*作为句柄,失去const表达能力 2 年前 |
|
|
ÐÐ³Ð¾Ñ Ð¢ÑиÑонов · 忽略字符常量 2 年前 |