在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
当前回答
在PHP中
var_export('false' == 0); // true
var_export('false' == true); // true
var_export('false' == false); // false
EDIT
正如@Kobi提到的,这可能发生,因为语言将任何值解释为“TRUE”,除了“FALSE”,但在PHP中不是这样,在那里事情比你想象的更奇怪!
这个案例在PHP手册的“字符串转换到数字”一章中有完整的记录,它说:
如果字符串以valid开头 数值数据,这就是值 使用。否则,该值为0 (零)。
这里有一个例子:
print (int) 'zero'; // 0
print (int) 'false'; // 0
// but
print (int) '1 - one'; // 1
附注:我认为这种隐式类型转换弊大于利。
其他回答
APL(除了ALL),在一行中编写任何程序的能力。
例:在APL中,康威的生命游戏一行:
替代文本 http://catpad.net/michael/APLLife.gif
如果这句台词都不是WTF,那什么都不是!
这是一个视频
在Java中,
String s = null;
System.out.println(s + "hello");
输出“nullhello”。
Java源文件可以以字符\u001a (control-Z)结尾。
在awk中,数组从索引1开始,这是最不容易混淆的。
Java中有标记的break和continue语句。
它们允许你通过一次突破突破多个控制块。