ライブラリ
- ビルトイン (3170)
- abbrev (12)
- benchmark (12)
- bigdecimal (12)
- coverage (7)
- csv (324)
- date (4)
- fileutils (132)
- json (108)
- matrix (84)
- mkmf (12)
- objspace (12)
- open3 (12)
- openssl (12)
- optparse (144)
- pathname (12)
- pp (24)
- psych (43)
- rake (144)
-
rake
/ testtask (12) -
rexml
/ document (12) - rubygems (12)
-
rubygems
/ requirement (24) -
rubygems
/ specification (12) - set (45)
- socket (36)
- tsort (48)
- win32ole (24)
クラス
- Array (1753)
- BigDecimal (12)
- CSV (180)
-
CSV
:: Table (132) - Coverage (7)
- Data (3)
- Date (2)
- DateTime (2)
-
Encoding
:: Converter (36) - Enumerator (24)
-
Gem
:: Requirement (24) -
Gem
:: Specification (12) - Hash (100)
- IO (12)
-
JSON
:: Parser (12) -
JSON
:: State (60) - MatchData (62)
- Matrix (36)
- Method (44)
- Module (144)
- NilClass (12)
- Object (148)
-
OpenSSL
:: BN (12) - OptionParser (144)
- Pathname (12)
-
REXML
:: Element (12) -
Rake
:: Application (12) -
Rake
:: FileList (72) -
Rake
:: NameSpace (12) -
Rake
:: TaskArguments (12) -
Rake
:: TestTask (12) - Random (36)
- Range (38)
- Rational (12)
- Regexp (24)
-
RubyVM
:: AbstractSyntaxTree :: Node (7) -
RubyVM
:: InstructionSequence (12) - Set (60)
- Socket (24)
- String (33)
- Struct (28)
- TCPSocket (12)
- Time (14)
- UnboundMethod (24)
- Vector (48)
-
WIN32OLE
_ VARIANT (24)
モジュール
- Benchmark (12)
- Enumerable (553)
- FileUtils (132)
-
GC
:: Profiler (12) - Gem (12)
- JSON (24)
-
JSON
:: Generator :: GeneratorMethods :: Array (12) - Kernel (36)
- ObjectSpace (36)
- Open3 (12)
- Psych (43)
-
Rake
:: TaskManager (36) - TSort (48)
- Warning (1)
キーワード
-
$ , (12) - & (24)
- * (24)
- + (12)
- - (12)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (12)
- <=> (12)
- == (36)
- === (8)
- =~ (16)
- ARGV (12)
- Enumerator (12)
- FrozenError (8)
- Marshal フォーマット (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 3
. 1 . 0 (4) - Set (3)
-
WIN
_ PATTERNS (12) - [] (144)
- []= (24)
- abbrev (12)
-
add
_ attributes (12) - all? (42)
- any? (39)
-
array
_ nl (12) -
array
_ nl= (12) - at (12)
- bmbm (12)
- bsearch (48)
-
bsearch
_ index (20) - call (24)
- categories (1)
- children (7)
- chmod (12)
-
chmod
_ R (12) - chown (12)
-
chown
_ R (12) - class (12)
- coerce (48)
- collect (48)
- collect! (24)
- collect2 (24)
-
collect
_ concat (24) -
collect
_ method (12) - combination (24)
- commands (12)
- compact (25)
- compact! (21)
- concat (33)
- converters (12)
- convpath (12)
- count (72)
-
current
_ scope (12) - cycle (12)
-
deconstruct
_ keys (17) -
define
_ finalizer (24) - delete (24)
-
delete
_ at (12) -
delete
_ if (24) - diagonal (12)
- difference (7)
- dig (30)
-
drop
_ while (48) - dump (24)
- each (24)
-
each
_ index (12) - empty? (24)
- entries (7)
-
enum
_ for (24) - eql? (24)
- fcntl (12)
- fetch (36)
-
fiddle
/ import (12) - fill (24)
- filter (14)
- filter! (14)
-
find
_ index (36) - first (48)
-
flat
_ map (24) - flatten (36)
- flatten! (24)
-
force
_ encoding (12) - freeze (12)
- generate (12)
-
generate
_ line (12) - getaddrinfo (12)
- gethostbyname (24)
- gets (12)
- grep (24)
- hash (12)
-
header
_ converters (12) - headers (24)
- import (12)
-
in
_ namespace (12) - index (36)
- insert (12)
- inspect (12)
-
install
_ rb (12) - intersect? (4)
- intersection (18)
-
is
_ a? (12) - join (12)
-
keep
_ if (24) -
kind
_ of? (12) - last (24)
- length (24)
-
line
_ stub (7) - list (12)
- makedirs (12)
- map (48)
- map! (24)
- map2 (12)
- max (42)
-
max
_ by (48) - min (42)
-
min
_ by (48) - minmax (24)
-
mkdir
_ p (12) - mkpath (12)
-
module
_ function (36) - names (12)
- new (72)
-
next
_ values (12) - none? (14)
- on (144)
- one? (42)
- p (12)
- pack (21)
- pack テンプレート文字列 (12)
- parse (36)
-
parse
_ line (12) -
peek
_ values (12) - permutation (24)
- pipeline (12)
- pop (12)
-
pretty
_ print (12) -
pretty
_ print _ cycle (12) -
primitive
_ errinfo (12) - private (48)
-
private
_ class _ method (24) - product (24)
- public (12)
-
public
_ class _ method (24) - rand (36)
-
rdoc
/ parser / c (12) -
reachable
_ objects _ from (12) - read (24)
- readline (12)
- readlines (24)
- reject (48)
- reject! (24)
-
repeated
_ combination (24) -
repeated
_ permutation (24) - replace (12)
- result (12)
-
reverse
_ each (24) - rindex (36)
- rotate (12)
- rotate! (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) -
ruby
_ opts (12) -
safe
_ load (19) - sample (24)
-
search
_ convpath (12) - select (24)
- select! (24)
- set (9)
- shift (48)
- size (24)
- slice (12)
- slice! (24)
- sort (24)
- sort! (24)
-
sort
_ by (24) -
sort
_ by! (24) - split (12)
-
strongly
_ connected _ components (24) - sum (42)
- table (12)
- take (24)
-
take
_ while (48) - tap (12)
- tasks (24)
-
to
_ a (139) -
to
_ ary (36) -
to
_ csv (12) -
to
_ enum (24) -
to
_ h (31) -
to
_ hash (12) -
to
_ json (12) -
to
_ s (12) -
top
_ level _ tasks (12) - transpose (12)
-
try
_ convert (12) - tsort (36)
- union (19)
- uniq (24)
- uniq! (12)
- unpack (12)
- unpack1 (9)
- unparse (12)
- unshift (12)
-
values
_ at (48) - yaml (12)
- zip (24)
- | (12)
- パターンマッチ (12)
- リテラル (12)
- 制御構造 (12)
検索結果
先頭5件
-
tsort (26138.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
...tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3],......=>[]}.tsort
#=> [3, 2, 1, 4]
{1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}.strongly_connected_components
#=> [[4], [2, 3], [1]]
//}
=== より現実的な例
非常に単純な `make' に似たツールは以下のように実装できます。
//emlist[][ruby]{
require 'tsort'
class Make
def initialize......utputs, inputs=[], &block)
triple = [outputs, inputs, block]
outputs.each {|f| @dep[f] = [triple]}
@dep[triple] = inputs
end
def build(target)
each_strongly_connected_component_from(target) {|ns|
if ns.length != 1
fs = ns.delete_if {|n| Array === n}
raise T... -
WIN32OLE
_ VARIANT . array(dims , vt) -> WIN32OLE _ VARIANT (21213.0) -
配列用のVARIANTオブジェクトを生成します。
...配列用のVARIANTオブジェクトを生成します。
オートメーションメソッド呼び出し用の配列を生成します。なお、OLEオートメー
ションの配列の次元と添え字の関係はVB型だという点に注意してください。こ
れはCと逆順の並び......RIANTの定数で指定します。
@return 指定された次元/要素数を持つWIN32OLE_VARIANTオブジェクト。
次の例は、最初の次元が3要素、次の次元が4要素の2次元配列を生成する例です。
ole_ary = WIN32OLE_VARIANT.array([3,4], WIN32OLE::VARIANT::VT_I4......)
ruby_ary = ole_ary.value # => [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
@see WIN32OLE_VARIANT#value, WIN32OLE::VARIANT... -
Array
# intersection(*other _ arrays) -> Array (15313.0) -
自身と引数に渡された配列の共通要素を新しい配列として返します。 要素が重複する場合は、そのうちの1つのみを返します。 要素の順序は自身の順序を維持します。
...持します。
@param other_arrays 自身と共通要素を取りたい配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary
メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以......合に発生します。
intersectionはObject#hashとObject#eql?を使って比較を行います。
//emlist[例][ruby]{
[1, 1, 3, 5].intersection([3, 2, 1]) # => [1, 3]
["a", "b", "z"].intersection(["a", "b", "c"], ["b"]) # => ["b"]
["a"].intersection......# => ["a"]
//}
@see Set#intersection, Array#&... -
Array
# to _ a -> Array (15269.0) -
self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、 自身を Array に変換したものを返します。
...し、Array のサブクラスのインスタンスに対して呼ばれた時は、
自身を Array に変換したものを返します。
//emlist[例][ruby]{
class SubArray < Array; end
ary1 = Array([1, 2, 3, 4])
ary2 = SubArray([1, 2, 3, 4])
ary1.to_a # => [1, 2, 3, 4]
ary1.to_a.class......# => Array
ary2.to_a # => [1, 2, 3, 4]
ary2.to_a.class # => Array
//}
@see Array#to_ary... -
Array
. try _ convert(obj) -> Array | nil (15231.0) -
to_ary メソッドを用いて obj を配列に変換しようとします。
...to_ary メソッドを用いて obj を配列に変換しようとします。
何らかの理由で変換できないときには nil を返します。
このメソッドは引数が配列であるかどうかを調べるために使えます。
//emlist[例][ruby]{
Array.try_convert([1]) # =>......[1]
Array.try_convert("1") # => nil
if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument is a string
end
//}... -
Array
# shift -> object | nil (15225.0) -
配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...トを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError 引数に負の数......を指定した場合に発生します。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
p a.shift #=> 0
p a #=> [1, 2, 3, 4]
p [].shift #=> nil
p [].shift(1) #=> []
//}
@see Array#push, Array#pop, Array#unshift... -
Array
# shift(n) -> Array (15225.0) -
配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...トを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError 引数に負の数......を指定した場合に発生します。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
p a.shift #=> 0
p a #=> [1, 2, 3, 4]
p [].shift #=> nil
p [].shift(1) #=> []
//}
@see Array#push, Array#pop, Array#unshift... -
Array
# filter! {|item| block } -> self | nil (15218.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
...//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject!... -
Array
# concat(*other _ arrays) -> self (15216.0) -
other_arrays の要素を自身の末尾に破壊的に連結します。
...other_arrays の要素を自身の末尾に破壊的に連結します。
@param other_arrays 自身と連結したい配列を指定します。
//emlist[例][ruby]{
[ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat( ["b"], ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a"......].concat #=> [ "a" ]
a = [ 1, 2, 3 ]
a.concat( [ 4, 5 ] )
a #=> [ 1, 2, 3, 4, 5 ]
a = [ 1, 2 ]
a.concat(a, a) #=> [1, 2, 1, 2, 1, 2]
//}
@see Array#+... -
Array
# first -> object | nil (15215.0) -
配列の先頭の要素を返します。要素がなければ nil を返します。
...配列の先頭の要素を返します。要素がなければ nil を返します。
//emlist[例][ruby]{
p [0, 1, 2].first #=> 0
p [].first #=> nil
//}
@see Array#last...