DolphinDB中pair语义为何在不同使用场景下存在差异?
关于
1:6在循环与between函数中表现差异的说明 这两种情况完全不矛盾,核心是1:6在不同语境下的语义完全不同:
- 循环场景中的
1:6是生成整数序列:
你提到执行for ( r in 1 : 6 ) { print(r) }返回"1,2,3,4,5",这说明该语言里的1:6遵循左闭右开的序列规则(类似Python的range(1,6)),只会生成到右边界前一个数的整数序列。 between函数场景中的1:6是指定区间的边界对:
当用between搭配1:6时,这里的1:6被解析成区间的左边界1和右边界6,between的逻辑是判断目标值是否落在**闭区间[1,6]**内,所以数值6会被判定为符合条件,返回TRUE。
简单说,同一个符号组合在不同功能场景下被赋予了不同的作用:一个是生成有限序列,一个是定义区间范围,所以表现不同是合理的,不存在矛盾。
内容的提问来源于stack exchange,提问作者da Lin
相关产品推荐
相关产品推荐

