Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于exclusive range运算的符号 #25

Open
hax opened this issue Jul 15, 2015 · 8 comments
Open

关于exclusive range运算的符号 #25

hax opened this issue Jul 15, 2015 · 8 comments
Labels

Comments

@hax
Copy link
Owner

hax commented Jul 15, 2015

大概去年这个时候 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的流行,还会有更多的开发者使用我创造的这个符号,想想好像也挺有成就感的。

@xufei
Copy link

xufei commented Jul 16, 2015

赞,这个可比神棍厉害多了

@amio
Copy link

amio commented Jul 16, 2015

有没有个字体在设计的时候考虑过让 <3 更像个心形

@hax
Copy link
Owner Author

hax commented Jul 16, 2015

@amio 不知道啊。不过OpenType理论上是可以直接把<3替换为单独符号的,比如:heart:

@Justineo
Copy link

贺老的睡觉时间太感人……话说 <3 合体应该很轻松的,比如这两个个字体里全是这种组合:HaskligFiraCode

@luqin
Copy link

luqin commented Jul 16, 2015

@hax 保重身体啊

@amio
Copy link

amio commented Jul 16, 2015

@Justineo 还真有!城会玩…

@cssmagic
Copy link

赞!

确实,对于没有 Ruby 背景的人来说,..... 的区别很不直观,每次看到都要查一下,或者想半天。语言所采用的操作符在字面上给人的直观感受非常重要。原来在十年前,贺老就已经对语言的设计如此关注了。

@hax hax added the 笔记 label Jul 19, 2015
@yisibl
Copy link

yisibl commented Oct 26, 2015

贺老快给我签名

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants