大概去年这个时候 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
相关推荐
Send any kind of midi event out(except system exclusive) through any available midi port
This article is about XOR in the sense of an electronic logic gate (e.g. CMOS 4030). For XOR in the purely logical sense, see Exclusive disjunction. For other uses, see XOR (disambiguation).
range-exclusive 生成步长为d的数字[a, b)的封闭范围安装npm install range-exclusive用法var rangeExclusive = require ( 'range-exclusive' )rangeExclusive ( 10 ) // [1, 2, 3, 4, 5, 6, 7, 8, 9]rangeExclusive...
read_exclusive_semaphore
The software package is and will remain the exclusive property of STMicroelectronics and its licensors. The recipient will not take any action that jeopardizes STMicroelectronics and its licensors' ...
exclusive) 方法,exclusive指定是否包含end本身,如果没有指定或为false则包含end,否则不包含 你可以利用Enumerable中定义的方法来操作range对象,range对象只是实现了Enumerable对象需要的枚举逻辑_each和覆盖了...
使用 RabbitMQ 和 Spring Integration(Java DSL) 串行处理消息如果您需要使用 RabbitMQ 串行处理消息,并使用一组侦听器处理消息,我见过的最好方法是在每个侦听器上使用 1 个线程处理消息的侦听器上使用标志。...
XAMPLE在已经或尚未运行Web服务器和数据库的系统上创建了一个单独的,加密的和独立的LAMP环境。 为拒绝与已安装的LAMP堆栈一起工作的软件提供定制的环境非常有用。
npm install exclusive-or --save 用 var xor = require ( 'exclusive-or' ) ; xor ( false , false ) // -> false xor ( false , true ) // -> true xor ( true , false ) // -> true xor ( true , true ) // -> ...
则CRC 寄存器值右移一位后,再与A001H 进行Exclusive OR 运算。 步骤四:回到步骤三,直到步骤三已被执行过 8 次,才进到步骤五。 步骤五:对指令信息的下一个位组重复步骤二到步骤四,直到所有位组皆完全处理过, ...
HBase 独家编写器允许写入 HBase 表的进程强制排除所有其他写入者。为什么这很有用? 通常人们会尝试在 ZooKeeper 之类的东西中使用分布式锁来做到这一点。 但是,仅凭这一点还不足以保证一次只有一个进程会写入该表...
修复库克的Illustrated搜索以删除其他网站的广告 ...这些搜索结果是广告,因为内容被锁定在付费专区后面。执行搜索后,可以手动取消选择其他站点,然后搜索结果将不包含任何有关网络站点的广告。但是,浏览食谱并执行...
However, since resolving weak absorption and averting over-absorption are always mutually exclusive, the dynamic range of the LAS-based gas sensor is limited and insufficient for many applications in...
基于Linux4.14.76内核的补丁
比如,add、sub(substract)、adc(add with carry)、sbb(substract with borrow)、inc(increase)、dec(decrease)、cmp(compare)、imul...比如,and、or、not、xor(exclusive or)、test、shl(shift
在高能量下,硬排他过程在有限散射角处的横截面随Manderstam变量s的幂而下降。 如果所有涉及的夸克-胶子成分都经历了硬动量转移,则衰减标度由初始和最终强子的潜在价结构确定,这被称为成分计数规则。...
Activiti 学习笔记八:排他网关(ExclusiveGateWay)
EXR: Greening Data Center Network with Software Defined Exclusive Routing
<SPAN lang=EN-US xss=removed>A maximal length feedback with carry shift register sequence is also called an <I xss=removed>l</I>-sequence. Although termwise exclusive ors of <I xss=removed>l</I>-se