在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
当前回答
Perl有yada yada操作符(…)。
Perl 6传统的所谓“yada yada”操作符是标记未实现代码的快捷方式:
if ($condition) { ... }
和
if ($condition) { die "not yet implemented" }
其他回答
这是我最喜欢的一个,你可以在Java中不使用main()来执行println。
这将编译和运行,给出println,但也有一个异常(java.lang。NoSuchMethodError:主要)
class Test {
static {
System.out.println("I'm printing in Java without main()");
}
}
在Java中:
int[] numbers() {
return null;
}
可以写成:
int numbers() [] {
return null;
}
让我们为所有试图废除保留词的语言(如PL/I)投票。
还有什么地方可以合法地写出这样有趣的表达:
IF IF THEN THEN = ELSE ELSE ELSE = THEN
(IF, THEN, ELSE是变量名)
or
IF IF THEN THEN ELSE ELSE
(IF为变量,THEN和ELSE为子程序)
在FoxPro中,如果我没记错的话,每个命令都可以缩写为4个字符,其他的都被忽略,所以READ, READY, READINESS都是一样的——前4个字符之后的都被忽略。向我解释的人喜欢这个功能,但我觉得它很恐怖。
在SQL Server中,如果你在生产代码中使用select *,你可能会遇到一个令人讨厌的意外。无论如何,使用select *并不被认为是一个好的实践,但了解一些有趣的行为是很好的。
参见问题“select * from table”vs“select colA,colB etc from table”在SqlServer2005中有趣的行为了解更多细节