Dav*_*rin 13 conditional programming-languages
是否有一种支持链式符号的编程语言a <b <c而不是条件语句中的<b和b <c?
例:
第一个声明对我来说更好看,它更容易理解,编译器可以使用传递性属性来警告错误(例如5 <x <2会发出警告).
R. *_*des 13
Python就是这么做的.
Icon这样做,它不是任何hacky特殊情况"链接"的一部分; 它是Icon的目标导向评估模型的一部分.任何比较成功或失败.如果成功,它会产生右侧.所以你可以写
if 0 <= i <= j < n then ...
Run Code Online (Sandbox Code Playgroud)
它的工作方式与您期望的完全一致.但它不仅适用于比较,也适用于任何表达; 这意味着您可以编写自己的功能,以完全相同的方式"链接".我喜欢Icon的这个方面,希望更多的语言可以结合目标导向的评估.
NB在Guido的论文中,我在VHLL(20世纪90年代中期)介绍了Python,他明确地提到了Icon作为Python设计的灵感来源.