るりまサーチ

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

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. matrix t
  4. t61string new
  5. fiddle type_size_t

キーワード

検索結果

tsort (26127.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...
...default = []
end

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

fiddle/import (6037.0)

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

...iddle/import ライブラリを使います。

主な使い方は fiddle も参照してください。

=== 高度な使用法

==== ○○の配列を関数に渡したい

例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
...
...たとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0, 4.0].pack('d*'), 3) #=> 9.0

また与え...
...void first_char(char **s, char *buf, int len)
があったとします。これを呼び出すにも以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **, char *, int)'
end...

set (6007.0)

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

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

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

Set および SortedSet は内部記...
...bject#eql? と Object#hash を用いて判断されます。
したがって、集合の各要素には、これらのメソッドが適切に定義されている
必要があります。

Set クラスでは、集合要素を取り出す際の順序は保証されません。
一方、SortedSet...
...れます。

また、set ライブラリを require すると Enumerable モジュールが
拡張され、Enumerable#to_set の形で集合オブジェクトを生成できる
ようになります。

=== 注意事項

集合オブジェクトに対する taint, untaint, freeze の各
メソッ...
...Set クラスを提供します。

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

Set は内部記憶として Hash を使うため、集合要素の等価性は
Object#eql? と Object#hash...
...定義されている
必要があります。

Set クラスでは、集合要素を取り出す際の順序は保証されません。

また、set ライブラリを require すると Enumerable モジュールが
拡張され、Enumerable#to_set の形で集合オブジェクトを生成でき...
...事項

集合オブジェクトに対する taint, untaint, freeze の各
メソッドの効果は、内部記憶として保持するハッシュにも適用されます。

集合オブジェクトおよびその内部記憶にセットされた taint 情報は、
dupおよび clone メソッド...

yaml (71.0)

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

...'t Markup Language) を扱うためのライブラリです。

//emlist[例1: 構造化された配列][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 # => t...
...//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
require 'date'

str_l = <<~YAML_EOT
T
anaka Taro: {age: 35, birthday: 1970-01-01}
Suzuki Suneo: {
age: 13,
birthday: 1992-12-21
}
YAML_EOT

str_r = {}
str_r["Tanaka Taro"] = {
"age" => 35,
"birthday" => Date.new(1...
...}
str_r["Suzuki Suneo"] = {
"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)
---
t
ime: 2008-02-25 17:03:12 +09:00
t
arget: Y...

rdoc/parser/c (61.0)

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

...ethod などで定義されたものに
対応する C 言語の関数のコメントを解析します。

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

/*
* Returns a new array that is a one-dimensional flattening of this
* array (recursively). That...
...for every element that is an array,
* extract its elements into the new array.
*
* s = [ 1, 2, 3 ] #=> [1, 2, 3]
* t = [ 4, 5, 6, [7, 8] ] #=> [4, 5, 6, [7, 8]]
* a = [ s, t, 9, 10 ] #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
* a.flatten...
...static VALUE
rb_ary_flatten(ary)
VALUE ary;
{
ary = rb_obj_dup(ary);
rb_ary_flatten_bang(ary);
return ary;
}

...

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

上記の例の場合、rb_ary_flatt...

絞り込み条件を変える