在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
在你看来,你遇到过的最令人惊讶、最怪异、最奇怪或最“WTF”的语言特性是什么?
请每个回答只回答一个特征。
当前回答
转变;
有时你会在perl方法的第一行中看到它来读取self指针
其他回答
Scheme中没有保留标识符。因此,下面的表达式的值为1:
((lambda (lambda) lambda) (let ((let 1)) let))
注意,给定作用域内的定义是有限制的:任何定义都不能重新定义用于在该作用域内定义标识符的标识符,因此下面是一个语法错误:
(begin (define define 1) define)
Javascript中的变量/函数声明:
var x = 1;
function weird(){
return x;
var x = 2;
}
Weird()返回undefined…即使任务从未发生,X也被“占用”了。
类似的,但也不是那么出乎意料
function weird2(){
var x;
return x();
function x(){ return 2 };
}
返回2。
C预处理器及其用法。特别是预处理器元编程和使用预处理器生成可移植代码——完全是胡扯。
学习PowerShell时发现:
试着猜一下结果数组是什么样的:
$a = 1, 2
$b = 1, 2+3
$c = 1, 2*3
答案:
1, 2
1, 2, 3
1, 2, 1, 2, 1, 2
哎哟!它动摇了我对PowerShell及其开发人员的信心。
在awk中,数组从索引1开始,这是最不容易混淆的。