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

0 投票
1 回答
72 浏览

private - 为什么允许在复制构造函数中对私有数据使用点运算符?

有一个带有一些私有数据 b 的类 A。如果我尝试使用 Ab 来获取数据,则会出现编译错误,因为我正在尝试对私有数据使用点运算符。

如果我为这个 A 类编写一个复制构造函数,我可以使用点运算符从我想要复制的对象中获取私有值 b。

为什么?

0 投票
1 回答
58 浏览

javascript - JavaScript 语法错误 - 第 33 行的错误:缺失;before 语句...点运算符后的数字

我正在尝试添加

但我得到一个错误 = 第 33 行的错误:缺失;声明之前

0 投票
0 回答
38 浏览

c - 简单 C 程序中的结构成员运算符错误

我正在研究结构,并且有一些错误。我不知道为什么。请帮帮我。

编译器错误是

  1. 我做了定义、声明、初始化还是做错了什么?
  2. 我无法弄清楚错误消息在说什么。他们的意思是什么?
0 投票
1 回答
62 浏览

c# - 即使我尊重点运算符优先级(C#),也会出现“预期标识符”错误

最初我的代码是:

然而,这引发了错误,我了解到点运算符的优先级高于强制转换。所以我把它改成了:

但是,它仍然给我“预期标识符”错误。它仍然是运算符优先级的问题,还是我做错了什么?

谢谢。

0 投票
1 回答
333 浏览

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__之间的区别不是手头的问题。

0 投票
3 回答
67 浏览

java - 当我在 .set() 方法中有两个方法时,它是如何工作的?

我是 java 新手,我需要帮助来理解代码试图做什么。我对最后一行感兴趣(sd.setId(sh.getGrade().getSchoolId());)。我知道它是在 sd 对象中使用 setId 设置的,但是我有点困惑该行的其余部分 (sh.getGrade().getSchoolId()) 正在尝试做什么。是否首先调用 getSchoolId() 方法,然后调用 sh.getGrade() 并将所有内容设置在 sd 中?当单行代码中有多个点 (.) 运算符时,如何读取代码?

0 投票
2 回答
78 浏览

c++ - 如何使用点运算符在 C++ 中定义嵌套函数?

我想用点运算符创建函数,如下所示:

我怎样才能做到这一点?

0 投票
2 回答
85 浏览

haskell - 带排序和 (++) 的 Haskell 点运算符

我现在正在学习haskell,并试图弄清楚前缀、中缀、优先级等的所有规则。

在尝试实现一个附加两个列表并对它们进行排序的函数时,我开始使用:

没有编译。

下列的:

另一方面确实有效。

为什么我必须在排序和括号周围添加第二个点?