几个月前写了一篇 “Ruby 的一个陷阱“,这几天又因为大意得到了另一个教训。
程序有一段代码本来是 Hash 的,大约如同:
a = {
:x = 1,
:y = 2,
:z = 3
}
程序结构变化后,我需要给改成变量的赋值,但是忘记删除每行后面的逗号了,于是变成下面的样子:
x = 1,
y = 2,
z = 3
我觉得学校里那一类闲得没事干的老师肯定会在考试的时候或者课本的习题中出这样的题:请写出变量 x 现在的值。你猜是什么?是一个数组:
[1, 2, 3]
看到答案就明白为什么了,是吧……看来 Ruby 语法很灵活,解释器为你发现错误的机会就少了,写程序的时候千万要注意。
Leave a Reply