るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

キーワード

検索結果

yaml (277.0)

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

...造化された配列][ruby]{
require 'yaml'

data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)

str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT

p str_r == str_l # => true
//}

//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
requ...
...] = {
"age" => 13,
"birthday" => Date.new(1992, 12, 21)
}

p str_r == YAML.load(str_l) # => true
//}

//emlist[例3: 構造化されたログ][ruby]{
require 'yaml'
require 'stringio'

strio_r = StringIO.new(<<~YAML_EOT)
---
time: 2008-02-25 17:03:12 +09:00
target: YAML
version: 4
log...
...=== タグの指定

!ruby/sym :foo などのようにタグを指定することで、読み込み時に記述した値
の型を指定できます。

//emlist[例][ruby]{
require 'yaml'
p YAML.load(<<~EOS)
---
!ruby/sym :foo
EOS
# => :foo
//}

yaml では、Ruby 向けに以下のローカ...

rdoc/parser/c (61.0)

C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析するためのサブライブラリです。

...す。

例: Array#flatten の場合。rb_ary_flatten のコメントが解析されます。

/*
* Returns a new array that is a one-dimensional flattening of this
* array (recursively). That is, for every element that is an array,
* extract its elements into the new array.
*
*...
......

void
Init_Array()
{
...
rb_define_method(rb_cArray, "flatten", rb_ary_flatten, 0);

上記の例の場合、rb_ary_flatten 関数と Init_Array 関数は同じファイルに記
述されている必要があります。

また、Ruby のソースコードとは別...
...にコメントには特別な命令を指定する事がで
きます。

: Document-class: name

記述する内容を name で指定した Ruby のクラスのものに指定します。同じ
.c ファイルに複数のクラス定義がある場合などのように、Init_xxx 関数の
x...

profile (47.0)

Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。

...Ruby プログラムのためのプロファイラです。
プロファイラとは効率改善のための調査に用いられるツールのことです。
profile ライブラリは各メソッドの実行時間に関する統計を出力します。

profile はそれ自身がオーバーヘ...
...ッド呼び出しあたりの処理時間がかなり遅くなります。

=== 使い方

以下のように、ruby に -r profile オプションを付けて実行します。

$ ruby -r profile foo.rb

foo.rb の実行が終わると標準エラー出力にプロファイルが出力されま...
...後者を正味時間と呼ぶことにします。

=== 出力の意味

プロファイルの結果は例えば次のようになります。

$ ruby -r profile sample/sieve.rb 1000
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 … 略 …
% cumulative self self...

fiddle/import (31.0)

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

...の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, in...
...ように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **, char *, int)'
end
buf = '111'
M.first_char(['Abc', 'Def', 'Ghi'].pack('p*'), buf, 3)
p buf #=> 'ADG'

==== Ruby のオブ...
...

任意のクラスの Ruby オブジェクトをコールバックへ渡したい場合は Fiddle.#dlwrap を使って
ポインタ(整数)へ変換してから関数に渡し、コールバックの方で元に戻します。

例えば libc の qsort を使って Ruby の Time の配列をソ...

rss (25.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.items << item
rss.items.last == item # => true

注意: item=/set_itemなどはRubyっぽくないので使わな...

絞り込み条件を変える

tsort (25.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],...
...4], [2, 3], [1]]
//}

=== より現実的な例

非常に単純な `make' に似たツールは以下のように実装できます。

//emlist[][ruby]{
require 'tsort'

class Make
def initialize
@dep = {}
@dep.default = []
end

def rule(outputs, inputs=[], &block)
triple = [outp...
...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....

set (13.0)

集合を表す Set クラスと、取り出し順序を保証した SortedSet クラスを提供 します。

...、取り出し順序を保証した SortedSet クラスを提供
します。

集合とは重複のないオブジェクトの集まりです。
Array
の持つ演算機能と Hash の高速な検索機能を合わせ持ちます。

Set および SortedSet は内部記憶として Hash を使う...
...情報は、
dupおよび clone メソッドによって複製された集合オブジェクトにもコピー
されます。

=== 例
//emlist[][ruby]{
require 'set'

set1 = Set.new ["foo", "bar", "baz", "foo"]

p set1 # => #<Set: {"foo", "bar", "baz"}>
p set1.include?("bar") #...
...集合を表す Set クラスを提供します。

集合とは重複のないオブジェクトの集まりです。
Array
の持つ演算機能と Hash の高速な検索機能を合わせ持ちます。

Set は内部記憶として Hash を使うため、集合要素の等価性は
Object#eql?...