有關(guān)鏈?zhǔn)奖容^運算符以及如何用不同語言解釋它們的問題被發(fā)布了。鏈接比較運算符意味著(x < y < z)將其解釋為((x < y) && (y < z))而不是((x < y) < z)。關(guān)于該問題的評論表明,Python,Perl 6和Mathematica支持鏈接比較運算符,但是還有哪些其他語言支持此功能,為什么它不那么普遍?快速瀏覽Python文檔顯示此功能至少從1996年開始就存在。是否有更多的語言沒有添加此語法的原因?靜態(tài)類型的語言在類型轉(zhuǎn)換方面會遇到問題,但是還有其他原因?qū)е逻@種情況不常見嗎?
3 回答

慕工程0101907
TA貢獻(xiàn)1887條經(jīng)驗 獲得超5個贊
它應(yīng)該更常見,但是我懷疑不是因為它使解析語言更加復(fù)雜。
好處:
秉承最少驚喜的原則
閱讀就像數(shù)學(xué)一樣
減輕認(rèn)知負(fù)擔(dān)(見前2分)
缺點:
語言的語法更復(fù)雜
特例句法糖
至于為什么不呢,我的猜測是:
語言作者沒有想到
在“不錯的”清單上
認(rèn)為它不足以證明實施合理性

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗 獲得超9個贊
Scheme(可能還有其他大多數(shù)Lisp家族語言)在其語法內(nèi)有效地支持多重比較:
(< x y z)
可以將其視為<具有三個參數(shù)的函數(shù)的普通函數(shù)應(yīng)用程序。請參見規(guī)格中的6.2.5數(shù)值運算。
Clojure也支持鏈?zhǔn)奖容^。
- 3 回答
- 0 關(guān)注
- 687 瀏覽
添加回答
舉報
0/150
提交
取消