48件ヒット
[1-48件を表示]
(0.121秒)
モジュール
- Enumerable (24)
キーワード
-
header
_ converters (12) -
sort
_ by (24)
検索結果
先頭5件
-
Symbol
# downcase -> Symbol (21220.0) -
大文字を小文字に変換したシンボルを返します。
...大文字を小文字に変換したシンボルを返します。
(self.to_s.downcase.intern と同じです。)
:FOO.downcase #=> :foo
@see String#downcase... -
Symbol
# downcase(*options) -> Symbol (21220.0) -
大文字を小文字に変換したシンボルを返します。
...大文字を小文字に変換したシンボルを返します。
(self.to_s.downcase.intern と同じです。)
:FOO.downcase #=> :foo
@see String#downcase... -
Enumerable
# sort _ by -> Enumerator (6137.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
...例][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 が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使......う度に downcase が実行されます。
従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。
//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}
一方、次のように sort_by を使うと downcase の実....../emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort_by {|v| v.downcase }
//}
以下の、実行回数の検証結果を参照してみてください。
//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|... -
Enumerable
# sort _ by {|item| . . . } -> [object] (6137.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
...例][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 が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使......う度に downcase が実行されます。
従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。
//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}
一方、次のように sort_by を使うと downcase の実....../emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort_by {|v| v.downcase }
//}
以下の、実行回数の検証結果を参照してみてください。
//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|... -
CSV
# header _ converters -> Array (107.0) -
現在有効なヘッダ用変換器のリストを返します。
...外は、オブジェクトを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("HEADER1,HEADER2\nrow1_1,row1_2", headers: true, header_converters: CSV::HeaderConverters.keys)
csv.header_converters # => [:downcase, :symbol]
csv.read.to_a # => header2], ["row1_1", "row1_2"
//...