ライブラリ
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Abbrev (12)
- Cyclic (12)
-
NEWS for Ruby 3
. 0 . 0 (5) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (6)
- Ruby用語集 (12)
- SortedSet (7)
- TSort (12)
- Version (12)
- [] (5)
- abbrev (12)
-
alias
_ command (6) - bmbm (12)
- capture2e (12)
- capture3 (12)
- chunk (12)
-
def
_ system _ command (6) -
do
_ sort (12) -
do
_ sort= (12) -
each
_ strongly _ connected _ component (46) -
each
_ strongly _ connected _ component _ from (46) - glob (10)
- groups (12)
-
max
_ by (48) -
min
_ by (48) - minmax (24)
-
minmax
_ by (24) - nonzero? (12)
-
pipeline
_ rw (24) -
rb
_ ary _ sort (12) - rss (12)
- sort! (24)
-
sort
_ by (24) -
sort
_ by! (24) -
strongly
_ connected _ components (24) - tsort (36)
-
tsort
_ each (46) -
tsort
_ each _ child (12) -
tsort
_ each _ node (12) -
uid
_ sort (12) -
unalias
_ command (6) - yaml (12)
検索結果
先頭5件
-
Array
# sort! -> self (6178.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
...配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素......"d", "a", "e", "c", "b" ]
p ary1.sort #=> ["a", "b", "c", "d", "e"]
ary2 = ["9", "7", "10", "11", "8"]
p ary2.sort #=> ["10", "11", "7", "8", "9"] (文字列としてソートするとこうなる)
p ary2.sort{|a, b| a.to_i <=> b.to_i } #=>......["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)
# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]
//}
@see Enumerable#sort_by
, Array#sort_by!... -
Array
# sort! {|a , b| . . . } -> self (6178.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
...配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素......"d", "a", "e", "c", "b" ]
p ary1.sort #=> ["a", "b", "c", "d", "e"]
ary2 = ["9", "7", "10", "11", "8"]
p ary2.sort #=> ["10", "11", "7", "8", "9"] (文字列としてソートするとこうなる)
p ary2.sort{|a, b| a.to_i <=> b.to_i } #=>......["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)
# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]
//}
@see Enumerable#sort_by
, Array#sort_by!... -
Array
# sort _ by! -> Enumerator (6130.0) -
sort_by の破壊的バージョンです。
...sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by... -
Array
# sort _ by! {|item| . . . } -> self (6130.0) -
sort_by の破壊的バージョンです。
...sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by... -
RSS
:: Maker :: ItemsBase # do _ sort (6117.0) -
@todo 現在のdo_sortの値を取得します.デフォルトでは falseになっています.
...@todo
現在のdo_sortの値を取得します.デフォルトでは
falseになっています.... -
VALUE rb
_ ary _ sort(VALUE ary) (6116.0) -
ary.sort
...ary.sort... -
RSS
:: Maker :: ItemsBase # do _ sort=() (6101.0) -
@todo trueに設定するとitem.dateが新しい順に並び替 えます.Procオブジェクトを指定することにより並び 替え方法をカスタマイズすることができます.
@todo
trueに設定するとitem.dateが新しい順に並び替
えます.Procオブジェクトを指定することにより並び
替え方法をカスタマイズすることができます. -
SortedSet (6000.0)
-
各要素をソートされた形で扱う集合クラスです。
各要素をソートされた形で扱う集合クラスです。
各メソッドの使用方法については、Set を参照してください。
RBTree ライブラリ (https://rubygems.org/gems/rbtree)
が利用可能である場合、内部記憶としてハッシュの代わりに RBTree を使用します。 -
TSort (6000.0)
-
TSort は強連結成分に関する Tarjan のアルゴリズムを用いた トポロジカルソートの実装です。
...TSort は強連結成分に関する Tarjan のアルゴリズムを用いた
トポロジカルソートの実装です。
TSort は任意のオブジェクトを有向グラフとして解釈できるように設計されています。
TSort がオブジェクトをグラフとして解釈する......には2つのメソッドを要求します。
すなわち、tsort_each_node と tsort_each_child です。
* tsort_each_node はグラフ上のすべての頂点を巡回するのに用いられます。
* tsort_each_child は与えられた頂点の子を巡回するのに用いられます。......頂点同士の等価性は eql? と hash によって定義されます。
これは TSort が内部でハッシュを用いているからです。... -
tsort (6000.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],......3], 3=>[], 4=>[]}.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
de......target)
each_strongly_connected_component_from(target) {|ns|
if ns.length != 1
fs = ns.delete_if {|n| Array === n}
raise TSort::Cyclic.new("cyclic dependencies: #{fs.join ', '}")
end
n = ns.first
if Array === n
outputs, inputs, block = n
in...