10

CoffeeScript で配列範囲を定義する方法を理解しています

lng[1..10]

しかし、私が持っている場合

data = 10

10 が 1 から 11 の範囲内にあるかどうかを調べる最良の方法は何ですか?

if data is between(1..11)
  return true
4

2 に答える 2

22

「between」キーワードはありませんが、通常の配列範囲を利用できます。

if data in [1..11]
    alert 'yay'

しかし、それは少しやり過ぎなので、単純なケースでは、通常の比較をお勧めします。

if 1 <= data <= 11
    alert 'yay'
于 2012-06-10T12:20:10.183 に答える
3

ネイティブ プロトタイプを汚染しても構わない場合は、オブジェクトにbetweenメソッドを追加できます。Number

Number::between = (min, max) -> 
  min <= this <= max

if 10.between(1, 11)
  alert 'yay'

私は個人的にそれを使用しませんが。if 1 <= something <= 11より直接的で、誰もが理解できるでしょう。between代わりに、メソッドが何をするかを知りたい場合 (または推測する必要がある場合) は、メソッドを調べる必要があり、それほど多くは追加されないと思います。

于 2012-06-10T21:54:25.313 に答える