F-Script 语法看起来像 Smalltalk。它与任何 Smalltalk 标准兼容吗?
最佳答案
F-Script 与 Smalltalk 相似,但两者没有真正意义上的兼容。
- 没有任何版本的 F-Script 可以读取 ANSI 标准更改格式,因此您立即需要进行一些更改。
- F-Script 没有 Smalltalk 类层次结构;相反,它包装了 Cocoa 类层次结构。这里有一些重要的差异:
- 方法名称不同。举个随机的例子,Smalltalk 的
copyFrom:
变成 Cocoa 的substringFromIndex:
。 - 类(class)不同。
String
及其 friend 被NSString
替换。 - 元类层次结构完全不同。 F-Script 中完全缺少像
Behavior
这样的主要类。
- 方法名称不同。举个随机的例子,Smalltalk 的
- F-Script 1 根本不允许您定义新类; F-Script 2 修复了这个问题,但类定义的格式与 Smalltalk ANSI 标准没有相似之处,并且与最接近的实用模拟 GNU Smalltalk 选择的格式不兼容。
- F-Script 添加了数组理解运算符,方法是添加 Smalltalk 标准中不存在的语法,并且实践中任何其他 Smalltalk 实现也不遵循该语法。它选择的语法与传统 Smalltalk 实现识别点的方式相冲突。
这就是我的想法。
我知道 F-Script 和 Smalltalk 看起来很相似,但是,为了引用萧伯纳的说法,它们是两种由共同语法划分的语言。一旦您开始在两者中工作一段时间,您就会立即体验到它们之间不可调和的差异的深度。
关于compatibility - F-Script 与 Smalltalk 兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323346/