在OO的编程语言(如C++)中,有一个很重要的符号:::,即双冒号,一般称其为Scope Resolution Operator,范围解析运算符。
在C++中,我们可以这样写:
class Base
{
protected int i;
public showI()
{
cout showI();
//感谢指正,用脚本语言多了,忘记在C++中是没有GC的
delete d;
d=NULL;
}
}
今天在回头看PHP的手册的时候,发现在PHP中这个双冒号是有一个专有名称的,叫做:Paamayim Nekudotayim。这个词语来自希伯来文,意思是两个冒号。 Nekudotayim (נקודתיים)的意思是\’colon\’,来源于nekuda (IPA: [nəkuda]),意思是“点”,而后缀ayim (יים-)表示“双”,因此是“两个点”的意思。
同样的,paamayim (פעמיים)的后缀也是ayim,表示“双”,而字根paam (IPA: [paʔam])表示“一次”,因此得到了“两次”这个含义。
当然,这里出现了两次“两次”,所以我们必须清楚:Nekudotayim中的两次重复是重复了“点”,因为得到了一个冒号,而Paamayim中的两次重复了“冒号”,所以最终我们得到了“两个”冒号。
该名称来自于在以色列开发的使用在PHP3中的Zend Engine 0.5。至今仍然在PHP5中继续使用。例如某个出错信息可能是这样的:
**Parse error:** syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in ***file*** on line ***line**
真是开卷有益啊!
Leave a Reply to 令狐虫 Cancel reply