亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈式比較運算符的語言支持(x <y <z)

鏈式比較運算符的語言支持(x <y <z)

有只小跳蛙 2019-11-20 10:51:00
有關鏈式比較運算符以及如何用不同語言解釋它們的問題被發布了。鏈接比較運算符意味著(x < y < z)將其解釋為((x < y) && (y < z))而不是((x < y) < z)。關于該問題的評論表明,Python,Perl 6和Mathematica支持鏈接比較運算符,但是還有哪些其他語言支持此功能,為什么它不那么普遍?快速瀏覽Python文檔顯示此功能至少從1996年開始就存在。是否有更多的語言沒有添加此語法的原因?靜態類型的語言在類型轉換方面會遇到問題,但是還有其他原因導致這種情況不常見嗎?
查看完整描述

3 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

它應該更常見,但是我懷疑不是因為它使解析語言更加復雜。

好處:

  • 秉承最少驚喜的原則

  • 閱讀就像數學一樣

  • 減輕認知負擔(見前2分)

缺點:

  • 語言的語法更復雜

  • 特例句法糖

至于為什么不呢,我的猜測是:

  • 語言作者沒有想到

  • 在“不錯的”清單上

  • 認為它不足以證明實施合理性


查看完整回答
反對 回復 2019-11-20
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

好處太小,不足以證明使語言復雜化是正確的。

您不需要經常使用它,而且只需增加幾個字符即可輕松獲得相同的效果。


查看完整回答
反對 回復 2019-11-20
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

Scheme(可能還有其他大多數Lisp家族語言)在其語法內有效地支持多重比較:


(< x y z)

可以將其視為<具有三個參數的函數的普通函數應用程序。請參見規格中的6.2.5數值運算。


Clojure也支持鏈式比較。


查看完整回答
反對 回復 2019-11-20
  • 3 回答
  • 0 關注
  • 693 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號