大概去年這個時候 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