【发布时间】:2017-05-17 05:03:07
【问题描述】:
我需要像这样实现经验过滤器
- 0 到 2 年
- 2 至 4 年
如何快速表达?
问题是我不能表达超过 2 到 4 年。虽然我可以做的少于上限。例如像这样
let underTen = 0.0..<10.0
我需要这样的东西(大于下限)
let uptoTwo = 0.0...2.0
let twoPlus = 2.0>..4.0 // compiler error
目前我正在做
let twoPlus = 2.1...4.0
但这并不完美。
【问题讨论】:
-
你在使用 Ints 吗?
-
@WarifAkhandRishi 你的问题和你的例子相互矛盾。您的问题要求对“0 到 2”(包括 2)和“2+ 到 4”的范围进行分段,但您的示例显示“0 到,不包括 2”和“2+ 到 4”
-
你如何使用这两个范围?如果您使用
0.0...2.0和2.0...4.0,那么如果您检查第一个范围,然后检查第二个范围,它将按需要工作。如果值为 2.0,它将被第一个范围捕获。这意味着只有超过 2.0 的值才会被第二个范围捕获。 -
Warif:不是加 0.1,而是加
Double.ulp它尽可能接近 2.0,而不是 2.0 -
switch years { case 0...2: print(true) case 2...4: print(true) }