不需要括号的函数语言有哪些?

8

据我所知,vb6允许不带()的函数调用。只要该函数没有返回值,就可以使用func(same, params, here)。其他哪些语言也允许这样做?你认为不带括号的func应该表示什么?它们的规则是什么?

免责声明:我正在设计一种语言,如果您会因为我采用了这个想法而感到不满,请不要写下评论。


2
这肯定是 VB6 的一个“特性”,普遍受到了厌恶? - anon
5
“er,Neil,你说你自己吧。至于我,我喜欢简洁的语法...” - Iraimbilanja
15个回答

1

Forth

: STAR          [CHAR] * EMIT ;
: STARS         0 DO STAR LOOP CR ;
: SQUARE        DUP 0 DO DUP STARS LOOP DROP ;
: TRIANGLE      1 DO I STARS LOOP ;
: TOWER ( n -- )  DUP TRIANGLE SQUARE ;

括号是注释。


1

JavaScript是一个没有括号的函数“调用”可以表示引用的例子。在允许将函数视为对象的语言中,函数名称只是另一个变量。

此外,在PHP语言结构中(如echo或exit),即使它们需要参数,也不需要括号,因此“echo $foo”的意思与“echo($foo)”相同,“exit $foo”的意思与“exit($foo)”相同。


一个 JS 函数的引用(没有圆括号)是特别地 不是 一个调用。 - nnnnnn

0

0

一些非传统或不使用括号的例子:

Objective-C: [object functionNamePart1:arg1 functionNamePart2:arg2]
或:[object function]

F-Script(基于Objective-C):object functionNamePart1:arg1 functionNamePart2:arg2
或:object function

Lisp:(+ 2 2)


0

Haskell也不需要括号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接