るりまサーチ

最速Rubyリファレンスマニュアル検索!
120件ヒット [1-100件を表示] (0.053秒)

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Random#rand -> Float (21338.0)

一様な擬似乱数を発生させます。

...は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は range.begin + self.rand((range.end - range.begin) + e)
の値を返します(e は終端を含む場合は1、含まない場合は0です)。
range.end - range.begin が実数を返す場合も同様で...
...います。

@
param max 乱数値の上限を正の整数または実数で指定します。
max 自体は乱数値の範囲に含まれません。
@
param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range.end - range.begin...
...あり、
range.begin + 数値 が適切な値を返す必要があります。

@
raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@
raise ArgumentError 引数の数が0または1では無い時、引数に負の数値を与...

Random#rand(max) -> Integer | Float (21338.0)

一様な擬似乱数を発生させます。

...は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は range.begin + self.rand((range.end - range.begin) + e)
の値を返します(e は終端を含む場合は1、含まない場合は0です)。
range.end - range.begin が実数を返す場合も同様で...
...います。

@
param max 乱数値の上限を正の整数または実数で指定します。
max 自体は乱数値の範囲に含まれません。
@
param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range.end - range.begin...
...あり、
range.begin + 数値 が適切な値を返す必要があります。

@
raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@
raise ArgumentError 引数の数が0または1では無い時、引数に負の数値を与...

Random#rand(range) -> Integer | Float (21338.0)

一様な擬似乱数を発生させます。

...は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は range.begin + self.rand((range.end - range.begin) + e)
の値を返します(e は終端を含む場合は1、含まない場合は0です)。
range.end - range.begin が実数を返す場合も同様で...
...います。

@
param max 乱数値の上限を正の整数または実数で指定します。
max 自体は乱数値の範囲に含まれません。
@
param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range.end - range.begin...
...あり、
range.begin + 数値 が適切な値を返す必要があります。

@
raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@
raise ArgumentError 引数の数が0または1では無い時、引数に負の数値を与...

Enumerable#sort_by -> Enumerator (67.0)

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。

...ます。

つまり、以下とほぼ同じ動作をします。

//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end

end

//}

Enumerable#sort と比較して sort_by が優れている点として、
...
...//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}

一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。
つまり、その部分の実行時間は O(n) のオーダーです。

//emlist[][ruby]{
p ["BAR",...
...ase }
//}

以下の、実行回数の検証結果を参照してみてください。

//emlist[][ruby]{
class Integer
def count
$n += 1
self
end

end


ary = []
1.upto(1000) {|v| ary << rand(v) }

$n = 0
ary.sort {|a,b| a.count <=> b.count }
p $n # => 18200

$n = 0
ary.sort_by {...

Enumerable#sort_by {|item| ... } -> [object] (67.0)

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。

...ます。

つまり、以下とほぼ同じ動作をします。

//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end

end

//}

Enumerable#sort と比較して sort_by が優れている点として、
...
...//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}

一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。
つまり、その部分の実行時間は O(n) のオーダーです。

//emlist[][ruby]{
p ["BAR",...
...ase }
//}

以下の、実行回数の検証結果を参照してみてください。

//emlist[][ruby]{
class Integer
def count
$n += 1
self
end

end


ary = []
1.upto(1000) {|v| ary << rand(v) }

$n = 0
ary.sort {|a,b| a.count <=> b.count }
p $n # => 18200

$n = 0
ary.sort_by {...

絞り込み条件を変える

Enumerable#max_by -> Enumerator (49.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

...Enumerator を返します。

@
param n 取得する要素数。

//emlist[例][ruby]{
a = %w(albatross dog horse)
a.max_by # => #<Enumerator: ["albatross", "dog", "horse"]:max_by>
a.max_by { |x| x.length } # => "albatross"
//}

//emlist[例][ruby]{
a = %w[albatross dog horse]...
...][ruby]{
module Enumerable
# weighted random sampling.
#
# Pavlos S. Efraimidis, Paul G. Spirakis
# Weighted random sampling with a reservoir
# Information Processing Letters
# Volume 97, Issue 5 (16 March 2006)
def wsample(n)
self.max_by(n) {|v| rand ** (1.0/yield(v)) }
end

end
...
...***
# **************************************************************
# ****************************************************
# ***************************************
# ***************************
# ******************
# ***********
# *******
# ***
# *
//}

@
see Enumerable#sort_by...

Enumerable#max_by {|item| ... } -> object | nil (49.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

...Enumerator を返します。

@
param n 取得する要素数。

//emlist[例][ruby]{
a = %w(albatross dog horse)
a.max_by # => #<Enumerator: ["albatross", "dog", "horse"]:max_by>
a.max_by { |x| x.length } # => "albatross"
//}

//emlist[例][ruby]{
a = %w[albatross dog horse]...
...][ruby]{
module Enumerable
# weighted random sampling.
#
# Pavlos S. Efraimidis, Paul G. Spirakis
# Weighted random sampling with a reservoir
# Information Processing Letters
# Volume 97, Issue 5 (16 March 2006)
def wsample(n)
self.max_by(n) {|v| rand ** (1.0/yield(v)) }
end

end
...
...***
# **************************************************************
# ****************************************************
# ***************************************
# ***************************
# ******************
# ***********
# *******
# ***
# *
//}

@
see Enumerable#sort_by...

Enumerable#max_by(n) -> Enumerator (49.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

...Enumerator を返します。

@
param n 取得する要素数。

//emlist[例][ruby]{
a = %w(albatross dog horse)
a.max_by # => #<Enumerator: ["albatross", "dog", "horse"]:max_by>
a.max_by { |x| x.length } # => "albatross"
//}

//emlist[例][ruby]{
a = %w[albatross dog horse]...
...][ruby]{
module Enumerable
# weighted random sampling.
#
# Pavlos S. Efraimidis, Paul G. Spirakis
# Weighted random sampling with a reservoir
# Information Processing Letters
# Volume 97, Issue 5 (16 March 2006)
def wsample(n)
self.max_by(n) {|v| rand ** (1.0/yield(v)) }
end

end
...
...***
# **************************************************************
# ****************************************************
# ***************************************
# ***************************
# ******************
# ***********
# *******
# ***
# *
//}

@
see Enumerable#sort_by...

Enumerable#max_by(n) {|item| ... } -> Array (49.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

...Enumerator を返します。

@
param n 取得する要素数。

//emlist[例][ruby]{
a = %w(albatross dog horse)
a.max_by # => #<Enumerator: ["albatross", "dog", "horse"]:max_by>
a.max_by { |x| x.length } # => "albatross"
//}

//emlist[例][ruby]{
a = %w[albatross dog horse]...
...][ruby]{
module Enumerable
# weighted random sampling.
#
# Pavlos S. Efraimidis, Paul G. Spirakis
# Weighted random sampling with a reservoir
# Information Processing Letters
# Volume 97, Issue 5 (16 March 2006)
def wsample(n)
self.max_by(n) {|v| rand ** (1.0/yield(v)) }
end

end
...
...***
# **************************************************************
# ****************************************************
# ***************************************
# ***************************
# ******************
# ***********
# *******
# ***
# *
//}

@
see Enumerable#sort_by...
<< 1 2 > >>