You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Raku中空Range判定为True:该现象是Bug还是特性?

结论:这是Raku的设计特性,而非Bug

在Raku中,so操作符的作用是判断一个值是否为非Nil——只要是实际存在的对象,无论它内部是否包含元素,so都会返回True。

对于1..0这个空Range来说:

  • 它是一个合法的Range对象,并非Nil值,所以so 1..0返回True完全符合语言规则。
  • 如果需要判断Range是否为空(即没有包含任何元素),应该使用Range的.is-empty方法,比如:
    say so 1..0.is-empty; # 输出 True
    

简单来说:Raku中对象的布尔值代表“对象是否存在”,而非“对象是否包含内容”,这是语言设计时明确的特性。

内容的提问来源于stack exchange,提问作者mscha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 11:52:02