gpt4 book ai didi

Smalltalk-80 字符含义/用法

转载 作者:行者123 更新时间:2023-12-03 09:30:24 25 4
gpt4 key购买 nike

这些字符的确切含义是什么 ←, ≡, ¬, ≠, ⌾, 以及如何在 Smalltalk-80 中使用?
考虑以下表达式:(取自 smalltalk-80 源代码)

  • ^self class ≡ x ≡ false
  • ^mem ◦ ¬448 ≠ 0
  • strm frame ← 15000 ⌾ frame origin y rect: 20000 ⌾ frame corner y.
  • neg ← (aStream ∢ 45 "-" ifTrue: [true] ifFalse: [aStream ∢ 21 "**¬**"]).

  • 注意:此示例是从以下链接中找到的原始 Xerox Alto 磁盘中提取的: http://bitsavers.trailing-edge.com/bits/Xerox/Alto/disk_images/

    最佳答案

    听起来这是来自施乐内部版本的 Smalltalk-80 的源文件。对于公开发布,他们必须用 ASCII 替换这些“不寻常的”字符(需要自定义字体字形),只保留 _ 的字形和 ^ ASCII 字符。
    这是基于我对 St76/78 的经验的最佳猜测(更新:由 Dan Ingalls 确认):

  • 分配如 var ← object .在 St80 也一样。
  • rcvr word← argword: 的替代品并且通常表示分配给接收器的插槽(例如 x← ,如 point x ← 100 )。 St80 只允许以冒号结尾的关键字 : .
    解析器处理 作为较低的优先级,因此您可以在其两侧都有关键字表达式。例如。a foo: b ← c bar: d将评估 c bar: d并将结果作为第二个参数传递给 a 的 foo:←方法)。
  • 索引如 array◦index . St80 使用 at:反而。
  • ◦←相当于St80的at:put:array◦index ← value
  • 身份,如St80的==
  • ¬负数的字面量,如 ¬1对于-1。解析器处理 -作为二进制消息选择器,因此必须将另一个符号用于负数文字。
  • 不等于,像 St80 的 ~=
  • 不完全相同,如 St80 的 ~~
  • 创建一个 Point,就像 St80 的 @
  • 匹配流中的 token 。如果从流中读取的下一个标记与参数匹配,则使用并返回它。否则它会回答 false .

  • 有关更多信息,请查看 Smalltalk Zoo网站。

    关于Smalltalk-80 字符含义/用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65916322/

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