有#between吗? Crystal 中的数字?
Is there a #between? for numbers in Crystal?
我想知道我是否根本找不到 Crystal 中数字的 between
方法。
在 Ruby 中,有 Comparable#between?
方法可以(除其他外)比较两个数值(我的具体情况)。
背景:我想在不使用
的情况下实现非中间解决方案
variable < 2 || variable > 5
我尝试了 5.between(2,5)
和 5.between?(2,5)
但我得到的只是一个编译错误:
Error in line 1: undefined method 'between?' for Int32
我最终扩展了数字结构:
struct Number
def between?(a, b)
self <=> a >= 0 && self <=> b <= 0
end
end
问题2:我的方案是否可行?如果没有,欢迎提出建议。
在 crystal 中,您可以编写 2 <= variable <= 5
,这更易于阅读,并让您更好地控制范围两端的 inclusivity/exclusivity。
来自已删除的答案,但我仍然喜欢它:
您可以使用类似的方法Range#includes?(或#covers)。
我想知道我是否根本找不到 Crystal 中数字的 between
方法。
在 Ruby 中,有 Comparable#between?
方法可以(除其他外)比较两个数值(我的具体情况)。
背景:我想在不使用
的情况下实现非中间解决方案variable < 2 || variable > 5
我尝试了 5.between(2,5)
和 5.between?(2,5)
但我得到的只是一个编译错误:
Error in line 1: undefined method 'between?' for Int32
我最终扩展了数字结构:
struct Number
def between?(a, b)
self <=> a >= 0 && self <=> b <= 0
end
end
问题2:我的方案是否可行?如果没有,欢迎提出建议。
在 crystal 中,您可以编写 2 <= variable <= 5
,这更易于阅读,并让您更好地控制范围两端的 inclusivity/exclusivity。
来自已删除的答案,但我仍然喜欢它:
您可以使用类似的方法Range#includes?(或#covers)。