別のキーワード
種類
- インスタンスメソッド (262)
- 特異メソッド (12)
ライブラリ
- ビルトイン (250)
-
json
/ add / range (24)
検索結果
先頭5件
-
Range
# to _ json(*args) -> String (6101.0) -
自身を JSON 形式の文字列に変換して返します。
...自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡......されます。
//emlist[例][ruby]{
require "json/add/core"
(1..5).to_json # => "{\"json_class\":\"Range\",\"a\":[1,5,false]}"
//}
@see JSON::Generator::GeneratorMethods::Hash#to_json... -
Range
. json _ create(hash) -> Range (6101.0) -
JSON のオブジェクトから Ruby のオブジェクトを生成して返します。
...
JSON のオブジェクトから Ruby のオブジェクトを生成して返します。
@param hash 適切なキーを持つハッシュを指定します。... -
Range
# minmax -> [object , object] (201.0) -
範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。
二つ目の形式では、要素同士の比較をブロックを用いて行います。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
(1..3).minmax # => [1, 3]
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).minmax { |a, b| h[a].length ... -
Range
# minmax {|a , b| . . . } -> [object , object] (201.0) -
範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。
二つ目の形式では、要素同士の比較をブロックを用いて行います。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
(1..3).minmax # => [1, 3]
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).minmax { |a, b| h[a].length ... -
Range
# ===(obj) -> bool (101.0) -
始端と終端の中に obj があるとき、true を返します。 そうでないとき、false を返します。
...obj が範囲内に含まれている時に true を返します。
そうでない場合は、false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用して......ください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動きをします。
@param obj 比較対象のオブジェクトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").in......clude?("ba") # => false
p ("a" .. "c").cover?("ba") # => true
p (1 .. 3).include?(1.5) # => true
//}
@see d:spec/control#case
@see Range#cover?......始端と終端の中に obj があるとき、true を返します。
そうでないとき、false を返します。
Range#=== は主に case 式での比較に用いられます。
//emlist[例][ruby]{
p (0...50) === 79 #=> false
p (60...80) === 79 #=> true
case 79
when 0...60 then puts.......5 以前は、単純に Range#include? メソッドを内部で呼んでいました。
しかし、2.6 以降では、(文字列を除いて) Range#cover? と同様の処理をするように切り替わりました。
ただし、=== は、Range#cover? のように Range オブジェクトを......ay - 100...Date.today + 100).cover?(DateTime.now) #=> true
p (Date.today - 100...Date.today + 100) === DateTime.now #=> true
# 2.5 以前は、=== は、include? と同じく比較できず false を返していました。
//}
@see d:spec/control#case
@see Range#include?, Range#cover?......> true
# 2.5 以前は、=== は、include? と同じく比較できず false を返していました。
//}
2.7 以降の === は、文字列も Range#cover? と同様の処理をするようになりました。
//emlist[例][ruby]{
p ('a'..'z').include? 'at' #=> false
p ('a'..'z').cover? 'at'... -
Range
# begin -> object (101.0) -
始端の要素を返します。 始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
...しますが, first は例外 RangeError が発生します。
//emlist[例][ruby]{
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1
p (1..5).first # => 1
p (1..0).first # => 1
# 始端を持たない場合
p (..5).begin #=> nil
p (..5).first #=> RangeError
//}
@see Range#end... -
Range
# bsearch {|obj| . . . } -> object | nil (101.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要... -
Range
# cover?(obj) -> bool (101.0) -
obj が範囲内に含まれている時に true を返します。
...obj が範囲内に含まれている時に true を返します。
Range#include? と異なり <=> メソッドによる演算により範囲内かどうかを判定します。
Range#include? は原則として離散値を扱い、
Range#cover? は連続値を扱います。
(数値につい......ては、例外として Range#include? も連続的に扱います。)
Range#exclude_end?がfalseなら「begin <= obj <= end」を、
trueなら「begin <= obj < end」を意味します。
@param obj 比較対象のオブジェクトを指定します。
//emlist[数値は連続的に扱わ......day + 365).include?(Date.today) #=> true
(Date.today - 365 .. Date.today + 365).include?(DateTime.now) #=> false
(Date.today - 365 .. Date.today + 365).cover?(Date.today) #=> true
(Date.today - 365 .. Date.today + 365).cover?(DateTime.now) #=> true
//}
@see Range#include?, Range#===... -
Range
# end -> object (101.0) -
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。
...終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。
//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}
@see Range#begin... -
Range
# first -> object (101.0) -
始端の要素を返します。 始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
...しますが, first は例外 RangeError が発生します。
//emlist[例][ruby]{
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1
p (1..5).first # => 1
p (1..0).first # => 1
# 始端を持たない場合
p (..5).begin #=> nil
p (..5).first #=> RangeError
//}
@see Range#end...