在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
当前回答
我一直是PHP错误的忠实粉丝,当在一行中使用两个冒号时脱离上下文:
解析错误:语法错误,第3行/path/to/file/error.php中的T_PAAMAYIM_NEKUDOTAYIM异常
第一次遇到这种情况时,我完全被弄糊涂了。
其他回答
这里有一大堆奇怪的C特性:http://www.steike.com/code/useless/evil-c/
Perl:
可以编写一个完全由标点符号组成的程序。
这是怎么回事?!
来自边远吗?
到目前为止,我遇到过的最奇怪的功能是BASIC方言中的“RETURN n”语句(不记得是哪一种了,这是大约28年前的事了)。“n”是可选的,默认为1。它可以是一个正数或负数,指示下一个执行的是与调用GOSUB相关的哪一行。
例如,下面将输出“30”:
10 GOSUB 200
20 PRINT "20"
30 PRINT "30"
100 END
200 RETURN +2
当我必须把一个用这种奇怪的BASIC语言编写的程序翻译成FORTRAN时,我遇到了这个问题。BASIC程序相当多地使用了这个特性,根据不同的条件返回不同的语句,我花了一段时间来理解逻辑流。一旦我理解了它,我就可以编写一个更简单的程序版本。不用说,更简单的FORTRAN版本比原来的BASIC程序bug更少。
我一直在想为什么最简单的程序是:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
然而它可以是:
print "Hello World!"
也许这是为了吓唬计算机科学专业的学生……