我正在尝试编写一个验证函数,用于检查变量是否介于0和1之间
unless xff.between?(0,1)
raise Puppet::ParseError, ("error message here")
end
如果xff为0.5则会引发错误。我该如何解决这个问题,以便接受(和包括)0和1之间的浮点/整数值?
答案 0 :(得分:3)
实现这一目标最明智的方法之一也是最直接的方法:
unless (xff >= 0.0) && (xff <= 1.0)
# raise error
end
您还可以使用范围并检查包含:
unless (0.0 .. 1.0).include? xff
# raise error
end
答案 1 :(得分:1)
你的代码对我来说很适合浮动和整数值:
-1.0.between?(0, 1) #=> false
0.0.between?(0, 1) #=> true
0.5.between?(0, 1) #=> true
1.0.between?(0, 1) #=> true
2.0.between?(0, 1) #=> false
-1.between?(0, 1) #=> false
0.between?(0, 1) #=> true
1.between?(0, 1) #=> true
2.between?(0, 1) #=> false