るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.014秒)
トップページ > クエリ:array[x] > クエリ:sort[x] > 種類:ライブラリ[x]

別のキーワード

  1. array fill
  2. array []
  3. array sample
  4. array count
  5. array new

キーワード

検索結果

tsort (6013.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...
...ed_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
inputs_time = inputs.map {|f| File....

rss (67.0)

RSS を扱うためのライブラリです。

...]要素; RSS::RDF::Item

3番目のitem要素にアクセスするには以下のようにします。省略さ
れなかったリーダの引数はArray#[]の引数と同じように扱われます。

rss = RSS::Parser.parse(rss_source)
rss.item(2) # => /rdf:RDF/item[3]要素; RSS::RDF::Item...
...在する場合は少し異なります.要素名の複
数形でのメソッドで要素の配列を取得して,その配列に対して
Array
#<<やArray#[]=などを用いて要素を設定します.

rss = RSS::Parser.parse(rss_source)
item = RSS::RDF::Item.new(rdf_about_value)
rss.i...
...04/11/2 10:10")
end
end

===== エントリを並び替える

もし,更新日が新しい順に並び替えたければ

maker.items.do_sort = true

を追加し,以下のようにします.

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
maker.channel.about = "http:/...

yaml (61.0)

構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。

...time: 2008-02-24 17:00:35 +09:00
target: YAML
version: 3
log: |
アブストラクトを書いた。

YAML_EOT

YAML.load_stream(strio_r).sort_by{ |a| a["version"] }.each do |obj|
puts "version %d\ntime %s\ntarget:%s\n%s\n" % obj.values_at("version", "time", "target", "log")
end

# =>
#...
...YAML.load(<<~EOS)
---
!ruby/sym :foo
EOS
# => :foo
//}

yaml では、Ruby 向けに以下のローカルタグを扱えます。

* !ruby/array: Array オブジェクト
* !ruby/class: Class オブジェクト
* !ruby/hash: Hash オブジェクト
* !ruby/module: Module オブジェクト...
...d(<<~EOS)
---
array
: !ruby/array [1, 2, 3]
hash: !ruby/hash {foo: 1, bar: 2}
regexp: !ruby/regexp /foo|bar/
range: !ruby/range 1..10
EOS
# => {"regexp"=>/foo|bar/, "hash"=>{"foo"=>1, "bar"=>2}, "array"=>[1, 2, 3], "range"=>1..10}
//}

これらは tag:ruby.yaml.org,2002:array のように...