關於exclusive range運算的符號

大概去年這個時候 Swift 語言把 half-open range operator 從 .. 改爲了 ..<,引起了一些討論。

實際上..<運算符的最早先例是 Groovy 語言

 

而Groovy在初創之時,使用的是和 Ruby 一樣的 range operator(.. 和 ...),在2005年4月左右將 ...改爲了 ..<

 

而最早提出以 ..< 符號作爲 exclusive range 運算符的,其實正是本人。這10年前的郵件記錄可在此查看:http://marc.info/?l=groovy-dev&m=113684773506831

 

其實在 Swift 做了這個改進後,還是有很多人吐槽這個符號的,比如 1..<3 有點像“I love”?

 

不過我個人認爲,如果一定要使用多個點來作爲 range operator,那麼 Swift 的這組符號選擇是看下來最合理的——實際上我開發的 Jedi 在三年前就使用了 ... 作爲 inclusive range op,..< 作爲 exclusive range op,應該是世界上最早使用這個組合的了——幸好有git記錄,後來人就不會以爲我是抄 Swift 的了——實際上是 Swift 的開發者在10年後終於選擇了我當初的設計……

 

不管這個符號的好壞如何,這應該是迄今爲止我個人對整個編程界最大的影響了,而且隨着Swift的流行,還會有更多的開發者使用我創造的這個符號,想想好像也挺有成就感的。

 

 

 

 

本文在github上的地址:https://github.com/hax/hax.github.com/issues/25

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章