在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
当前回答
在Lisp中,你可以复制一个列表,可以复制一个向量,可以复制一个结构体,可以复制一个CLOS对象……
... 但是不能复制数组或哈希表。
其他回答
Perl可以自动将26进制转换为10进制,如果你能在早上接受自己的话……
$ perl -E "say lc (@a='a'..'asdf')"
30530
在Python中:
>>> x = 4
>>> y = 1000000
>>> x is 4
True
>>> y is 1000000
False
>>>
如果你不相信,就试试吧!
Java有一整本关于它们的书。
书http://www.javapuzzlers.com/lg-puzzlers-cropped.jpg
爪哇益智游戏
在c++中,你可以做:
std::string my_str;
std::string my_str_concat = my_str + "foo";
但你不能:
std::string my_str_concat = "foo" + my_str;
操作符重载通常服从WTF。
C / C + +:
快速平方根逆算法利用了IEEE浮点表示法(代码复制自维基百科):
float InvSqrt(float x)
{
union {
float f;
int i;
} tmp;
tmp.f = x;
tmp.i = 0x5f3759df - (tmp.i >> 1);
float y = tmp.f;
return y * (1.5f - 0.5f * x * y * y);
}