有没有#between?对于水晶中的数字?

GHa*_*jba 5 crystal-lang

我想知道我是否根本找不到betweenCrystal中数字的方法.

在Ruby中,有Comparable#between?一种方法可以(除其他外)比较两个数值(我的具体情况).

背景:我想在不使用的情况下实现非中间解决方案

variable < 2 || variable > 5
Run Code Online (Sandbox Code Playgroud)

我试过5.between(2,5),5.between?(2,5)但我得到的只是一个编译错误:

第1行出错:未定义方法'之间?' 对于Int32

我最终扩展了数字结构:

struct Number
  def between?(a, b)
    self <=> a >= 0 && self <=> b <= 0
  end
end
Run Code Online (Sandbox Code Playgroud)

问题2:我的解决方案是否可行?如果没有,欢迎提出建议.

RX1*_*X14 11

在水晶中你可以写2 <= variable <= 5,更容易阅读,并让你更好地控制范围的每一端的包容性/排他性.