【发布时间】:2015-03-26 16:38:34
【问题描述】:
当我在编辑器中运行以下代码时,我感到很惊讶:
<?php
echo "hello";
echo "world"
?>
很容易看出,代码中缺少分号 (;),但它仍然有效!
这是如何工作的,为什么; 会出现在{0,1} 此处?
【问题讨论】:
-
因为语言规范说是这样的。
-
这类似于 Pascal 在
end;或end.之前的最后一行不需要分号。 -
@Schism 我可能弄错了,但我相信 Pascal 不使用语句 terminators 而是 separators;换句话说,你不能放最后一个分号;分号仅用于两个单独的两个语句。见here。但是,较新的版本确实允许使用结束分号,但它是可选的,正是因为以前的标准要求不使用它。
-
@Bakuriu 嗯,直到!我学习 Pascal 很晚(200x),但我不知道早期版本不允许它。谢谢你的启发:-)