gpt4 book ai didi

pharo - Pharo 中的 at ("@") 运算符是什么?

转载 作者:行者123 更新时间:2023-12-03 21:15:06 25 4
gpt4 key购买 nike

我在网上查过 @ 的含义Pharo 中的接线员,但找不到任何东西。

Pharo是什么意思@运算符(operator)?例如,为什么25@50评估为:"(25@50)" ?

最佳答案

在 Smalltalk 中,@符号用于创建类 Point 的实例.这样一个类的实例有两个变量 xy .您可以创建一个 Point使用 x:y:留言,像这样

  Point x: 3 y: 4.

但是,使用消息 @ 不那么冗长。像这样
  3 @ 4

创造同样的东西。

请注意,虽然 x:y:是您发送给类(class)的消息 Point ,留言 @ 4发送到整数 3 .换句话说,前者是类消息,后者是实例消息。

注意,因为很多人写 3@4而不是 3 @ 4 ,这有产生令人惊讶的副作用的风险。实际上
  3@-4

应该(原则上)是 Point带坐标 3-4 .但是,Smalltalk 语法不同,它会将其解析为带有选择器 @- 的消息。和参数 4发送到接收方 3 .这就是为什么有些方言会异常(exception),以便将消息解释为 3 @ -4 ,这可以通过实现方法 @- 来实现在 Number或者通过调整解析器。

关于pharo - Pharo 中的 at ("@") 运算符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61393257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com