我有一个拼写错误(好吧,Python常规),但奇怪的是Ruby没有抱怨它:
> if false; put "NO"; elif true; puts "YE"; end => nil > if false; puts "NO"; elsif true; puts "YE"; end #proper way YE
当我意识到这是完美的Ruby语法时,我不得不考虑半分钟. Ruby将其解释为第一个if子句的命令的一部分,elif是一个命令,它不存在,但在编译时不知道.即使打开了警告标志,Ruby也没有发出警告.
有没有办法警告这些问题?我是否必须为我的所有来源提供这样的错别字?我可以以某种方式强制这是编译时错误?
(我知道,这是一种动态语言,您应该通过单元测试来检测这些问题,但在编写新代码时仍然很烦人.)