我在网上读到有人在思考参数协商。我还可以想象一些基于经验的推理。
例如:一个方法有两个相同类型的参数。
- 位置参数:基于列出参数的顺序
- 关键字参数:基于参数的一些任意名称标签
- 基于类型的参数:基于参数的类型(如果可区分)
缺点:
- 序列大多是任意的,每次都必须查找
- 关键字需要为每个方法发明一种新的界面领域语言
- 基于类型仅在通过清晰可区分的类型时才有效
我可以想象重载的参数协商方式,如果传递的任何内容都不能清楚地区分,该方法现在让调用者知道问题,而调用者必须添加额外的信息或放弃调用。
我可以想象基于经验的推理,每种方法都知道通常为每个参数传递哪些值,因此可以推断新到达的值,而无需指定它可能是哪个参数。
我还可以想象一些像 schema.org 中的语义结构化数据模型,它可以避免任何关于类型和位置的混淆,但不需要为你编写的每个方法重新发明一种新的接口语言,因为存在共享的语义语言。
我可以想象 Wolfram 语言会朝那个方向发展吗?