4

在语言 nim 中,可以执行以下操作:

let num = 5.add(3)

这将与

let num = add(5,3)

所以,基本上你把点之前的表达式作为函数的第一个参数。我确信其他语言也有这个功能,但没有直接想到。

我想知道的是这个语法有什么名字

4

3 回答 3

7

在 D 语言中,这种语法称为统一函数调用语法 (UFCS)

于 2014-12-23T15:05:19.513 回答
6

手册说这是方法调用语法。它还提到了点运算符

于 2014-12-22T21:16:18.257 回答
0

TL;DR - Unified [Function] Call Syntax,或任何你喜欢的,因为在软件工程中没有稳定的广泛接受的术语。

担忧是基于有关以某种方式实现此功能的编程语言的信息:

  1. C++:该功能的最通用名称可能是Herb Sutter 在 open-std.org 论文中与 Bjarne Stroustrup 合作Unified Call Syntax定义的,
  2. D2:在D 语言中,以及在Rust 语言的 RFC 中,它被称为UFCS (Unified Function Call Syntax)。
  3. MATLAB:在MATLAB中,它们不使用任何特定命名,因为可以通过function notation或通过'.' (dot) syntax
于 2015-06-18T11:57:48.387 回答