问题标签 [dot-operator]
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.
private - 为什么允许在复制构造函数中对私有数据使用点运算符?
有一个带有一些私有数据 b 的类 A。如果我尝试使用 Ab 来获取数据,则会出现编译错误,因为我正在尝试对私有数据使用点运算符。
如果我为这个 A 类编写一个复制构造函数,我可以使用点运算符从我想要复制的对象中获取私有值 b。
为什么?
javascript - JavaScript 语法错误 - 第 33 行的错误:缺失;before 语句...点运算符后的数字
我正在尝试添加
但我得到一个错误 = 第 33 行的错误:缺失;声明之前
c - 简单 C 程序中的结构成员运算符错误
我正在研究结构,并且有一些错误。我不知道为什么。请帮帮我。
编译器错误是
- 我做了定义、声明、初始化还是做错了什么?
- 我无法弄清楚错误消息在说什么。他们的意思是什么?
c# - 即使我尊重点运算符优先级(C#),也会出现“预期标识符”错误
最初我的代码是:
然而,这引发了错误,我了解到点运算符的优先级高于强制转换。所以我把它改成了:
但是,它仍然给我“预期标识符”错误。它仍然是运算符优先级的问题,还是我做错了什么?
谢谢。
python - 我们如何才能始终如一地覆盖/重载 python 的点运算符,`__getattrribute__`?
假设我们正在使用python 3.x
或更新,而不是python 2.x
与许多语言一样,Python 有一个点运算符:
Python 的点运算符有时被实现为__getattribute__
.
以下等价于x = robby.length
:
但是,点运算符并不总是实现为__getattribute__
.
Python 有“魔术方法”魔术方法是名称以两个下划线字符开头和结尾的任何方法
。是魔术方法的一个例子。
__len__()
您可以通过执行以下代码来获取大多数 python 魔术方法的列表:
输出是:
假设我们编写了一个名为 的类Rectangle
,它的子类object
。
然后我尝试object.__getattribute__
在类内部覆盖Rectangle
,通常会失败。
下面显示了一个类的示例,其中 python 有时会忽略覆盖的点运算符:
有不止一种方法可以覆盖 python 的点运算符。
什么是一种可读、干净和一致的方法的例子?
一致,我的意思是我们的自定义点运算符在源代码中使用时被调用,.
无论该方法是否是魔术方法。
我不愿意在阳光下手动输入每一个魔法方法。
我不想看到成千上万行代码,如下所示:
__getattr__
我理解和__getattribute__
Overriding__getattribute__
而不是__getattr__
之间的区别不是手头的问题。
java - 当我在 .set() 方法中有两个方法时,它是如何工作的?
我是 java 新手,我需要帮助来理解代码试图做什么。我对最后一行感兴趣(sd.setId(sh.getGrade().getSchoolId());)。我知道它是在 sd 对象中使用 setId 设置的,但是我有点困惑该行的其余部分 (sh.getGrade().getSchoolId()) 正在尝试做什么。是否首先调用 getSchoolId() 方法,然后调用 sh.getGrade() 并将所有内容设置在 sd 中?当单行代码中有多个点 (.) 运算符时,如何读取代码?
c++ - 如何使用点运算符在 C++ 中定义嵌套函数?
我想用点运算符创建函数,如下所示:
我怎样才能做到这一点?
haskell - 带排序和 (++) 的 Haskell 点运算符
我现在正在学习haskell,并试图弄清楚前缀、中缀、优先级等的所有规则。
在尝试实现一个附加两个列表并对它们进行排序的函数时,我开始使用:
没有编译。
下列的:
另一方面确实有效。
为什么我必须在排序和括号周围添加第二个点?