85件ヒット
[1-85件を表示]
(0.110秒)
ライブラリ
- ビルトイン (48)
- pp (12)
- prettyprint (1)
- prime (24)
クラス
- Module (12)
- PP (12)
- PrettyPrint (1)
- Prime (24)
モジュール
- Enumerable (36)
キーワード
-
append
_ features (12) - chunk (12)
- first? (1)
- seplist (12)
-
slice
_ before (24)
検索結果
先頭5件
- PP
# seplist(list , sep = lambda { comma _ breakable } , iter _ method = :each) {|e| . . . } -> () - Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) -> Enumerator - Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) {|prime| . . . } -> object - Module
# append _ features(module _ or _ class) -> self - PrettyPrint
# first? -> bool
-
PP
# seplist(list , sep = lambda { comma _ breakable } , iter _ method = :each) {|e| . . . } -> () (23232.0) -
リストの各要素を何かで区切りつつ、自身に追加していくために使われます。
...、それぞれのブロックの実行の合間に sep が呼ばれます。
つまり、以下のふたつは同値です。
//emlist[][ruby]{
q.seplist([1,2,3]) {|v| q.pp v }
q.pp 1
q.comma_breakable
q.pp 2
q.comma_breakable
q.pp 3
//}
@param list 自身に追加したい配列を与えます......ません。
@param sep 区切りを自身に追加するブロックを与えます。list がイテレートされないなら、
sep は決して呼ばれません。
@param iter_method list をイテレートするメソッドをシンボルで与えます。
@see PP#comma_breakabl... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) -> Enumerator (21369.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
...に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定し......uby]{
require 'prime'
Prime.each(6){|prime| prime } # => 5
Prime.each(7){|prime| prime } # => 7
Prime.each(10){|prime| prime } # => 7
Prime.each(11){|prime| prime } # => 11
//}
//emlist[例: 30以下の双子素数][ruby]{
require 'prime'
Prime.each(30).each_cons(2).select{|p,r| r-p == 2}
#=> [[3......い数列が発生します。
//emlist[例][ruby]{
require 'prime'
Prime.each(50, Prime::Generator23.new) do |n|
p n #=> [2, 3, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49]
end
//}
@see Prime.each, Prime::EratosthenesGenerator, Prime::TrialDivisionGenerator, Prime::Generator23... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) {|prime| . . . } -> object (21369.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
...に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定し......uby]{
require 'prime'
Prime.each(6){|prime| prime } # => 5
Prime.each(7){|prime| prime } # => 7
Prime.each(10){|prime| prime } # => 7
Prime.each(11){|prime| prime } # => 11
//}
//emlist[例: 30以下の双子素数][ruby]{
require 'prime'
Prime.each(30).each_cons(2).select{|p,r| r-p == 2}
#=> [[3......い数列が発生します。
//emlist[例][ruby]{
require 'prime'
Prime.each(50, Prime::Generator23.new) do |n|
p n #=> [2, 3, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49]
end
//}
@see Prime.each, Prime::EratosthenesGenerator, Prime::TrialDivisionGenerator, Prime::Generator23... -
Module
# append _ features(module _ or _ class) -> self (12207.0) -
モジュール(あるいはクラス)に self の機能を追加します。
...//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, self)
mod.__send__(:included, self)
end
e... -
PrettyPrint
# first? -> bool (6031.0) -
このメソッドは obsolete です。
...の呼び出しかどうかを判定する
述語です。これはカンマで区切られた値を整形するのに有用です。
pp.group(1, '[', ']') {
xxx.each {|yyy|
unless pp.first?
pp.text ','
pp.breakable
end
... pretty printing yyy ...
}
}... -
Enumerable
# slice _ before(pattern) -> Enumerator (143.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
...ます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map のようなメソッドを使うこ
ともできます。
//emlist[例][ruby]{
# 偶数要素をチャンクの先頭と見なす
[0,2,4,1,2,4,5,3,......のエントリーを順に取る
open("ChangeLog") {|f|
f.slice_before(/\A\S/).each {|e| pp e}
}
# 上と同じだが、パターンでなくブロックを使う
open("ChangeLog") {|f|
f.slice_before {|line| /\A\S/ === line }.each {|e| pp e}
}
# "svn proplist -R" の結果を分割する
#......IO.popen([{"LC_ALL"=>"C"}, "svn", "proplist", "-R"]) {|f|
f.lines.slice_before(/\AProp/).each {|lines| p lines }
}
#=> ["Properties on '.':\n", " svn:ignore\n", " svk:merge\n"]
# ["Properties on 'goruby.c':\n", " svn:eol-style\n"]
# ["Properties on 'complex.c':\n", " svn:mime-type\n", "... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (67.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
...評価値と
各チャンクの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。
//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something }
//}
例として、整数列を連続する奇数/偶数に分ける例を......ころで区切られているのがわかるでしょう。
//emlist[例][ruby]{
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5].chunk {|n|
n.even?
}.each {|even, ary|
p [even, ary]
}
# => [false, [3, 1]]
# [true, [4]]
# [false, [1, 5, 9]]
# [true, [2, 6]]
# [false, [5, 3, 5]]
//}
このメソ......いを無視するため upcase しています。
//emlist[例][ruby]{
# ファイルのエンコーディングは実際のファイルに合わせてください。
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
f.chunk {|line| line[0].upcase }.each {|ch, lines| p [ch, lines.length] }
}
#... -
Enumerable
# slice _ before {|elt| bool } -> Enumerator (43.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
...ます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map のようなメソッドを使うこ
ともできます。
//emlist[例][ruby]{
# 偶数要素をチャンクの先頭と見なす
[0,2,4,1,2,4,5,3,......のエントリーを順に取る
open("ChangeLog") {|f|
f.slice_before(/\A\S/).each {|e| pp e}
}
# 上と同じだが、パターンでなくブロックを使う
open("ChangeLog") {|f|
f.slice_before {|line| /\A\S/ === line }.each {|e| pp e}
}
# "svn proplist -R" の結果を分割する
#......IO.popen([{"LC_ALL"=>"C"}, "svn", "proplist", "-R"]) {|f|
f.lines.slice_before(/\AProp/).each {|lines| p lines }
}
#=> ["Properties on '.':\n", " svn:ignore\n", " svk:merge\n"]
# ["Properties on 'goruby.c':\n", " svn:eol-style\n"]
# ["Properties on 'complex.c':\n", " svn:mime-type\n", "...