クラス
- Addrinfo (4)
- Enumerator (1)
-
File
:: Stat (2) - Object (1)
-
Psych
:: Handler (1) -
Psych
:: Nodes :: Alias (3) -
Psych
:: Nodes :: Document (10) -
Psych
:: Nodes :: Mapping (12) -
Psych
:: Nodes :: Node (8) -
Psych
:: Nodes :: Scalar (19) -
Psych
:: Nodes :: Sequence (12) -
Psych
:: Nodes :: Stream (7) -
Psych
:: Stream (2) -
Psych
:: TreeBuilder (1) -
Psych
:: Visitors :: YAMLTree (3) -
REXML
:: AttlistDecl (1) -
REXML
:: Attribute (1) -
REXML
:: Child (1) -
REXML
:: Comment (1) -
REXML
:: DocType (1) -
REXML
:: Document (1) -
REXML
:: Element (2) -
REXML
:: Elements (2) -
REXML
:: Formatters :: Default (1) -
REXML
:: Instruction (1) -
REXML
:: Parent (4) -
REXML
:: Text (1) -
REXML
:: XMLDecl (1) -
REXML
:: XPath (2) -
RubyVM
:: AbstractSyntaxTree :: Node (7) - Socket (2)
モジュール
- ObjectSpace (1)
-
OpenSSL
:: OCSP (1) - Psych (4)
-
REXML
:: Node (3) -
RubyVM
:: AbstractSyntaxTree (3) -
Socket
:: Constants (1) - TSort (14)
キーワード
- ANY (4)
- Alias (1)
- BLOCK (2)
-
DOUBLE
_ QUOTED (1) - Document (1)
- FLOW (2)
- FOLDED (1)
- LITERAL (1)
- Mapping (1)
- NODELEGATED (1)
- Nodes (1)
- PLAIN (1)
-
SINGLE
_ QUOTED (1) - Scalar (1)
- Sequence (1)
- Stat (1)
- Stream (1)
-
TCP
_ NODELAY (2) - UTF16BE (1)
- UTF16LE (1)
- UTF8 (1)
- []= (3)
- anchor (4)
- anchor= (4)
-
arg
_ blk _ pass (1) -
arg
_ defined (1) -
arg
_ prepend (1) - assign (1)
-
block
_ append (1) -
block
_ pass (1) -
call
_ op (1) -
call
_ trace _ func (1) - children (2)
- compile (1)
-
copy
_ node _ scope (1) -
count
_ nodes (1) - ctime (1)
- each (3)
-
each
_ strongly _ connected _ component (4) -
each
_ strongly _ connected _ component _ from (4) - encoding (1)
- encoding= (1)
- finish (1)
- first (1)
-
first
_ column (1) -
first
_ lineno (1) - fixpos (1)
- foreach (2)
- getaddrinfo (2)
- implicit (3)
- implicit= (3)
-
implicit
_ end (1) -
implicit
_ end= (1) -
index
_ in _ parent (1) - ino (1)
-
ins
_ methods _ priv _ i (1) -
ins
_ methods _ prot _ i (1) - inspect (1)
-
ipv6
_ mc _ nodelocal? (1) -
last
_ column (1) -
last
_ lineno (1) -
list
_ append (1) -
literal
_ append (1) - logop (1)
- massign (1)
- match (1)
-
module
_ setup (1) - new (7)
-
new
_ super (1) -
node
_ type (9) - nodetype (1)
- of (1)
- parent? (2)
- parse (2)
-
parse
_ file (2) -
parse
_ stream (2) -
parse
_ string (1) - plain (1)
- plain= (1)
-
previous
_ sibling (1) -
previous
_ sibling _ node (1) - produce (1)
- psych (1)
- quoted (1)
- quoted= (1)
-
range
_ op (1) -
rb
_ call0 (1) -
rb
_ compile _ cstr (1) -
rb
_ compile _ file (1) -
rb
_ compile _ string (1) -
rb
_ get _ method _ body (1) -
rb
_ node _ newnode (1) -
rdoc
/ parser / changelog (1) -
rexml
/ parsers / ultralightparser (1) - root (2)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) - scalar (1)
- start (3)
-
strongly
_ connected _ components (2) - style (3)
- style= (3)
- superclass (1)
- tag (4)
- tag= (3)
-
tag
_ directives (1) -
tag
_ directives= (1) -
to
_ a (1) -
to
_ ruby (1) -
to
_ yaml (1) - transform (1)
- tree (1)
- tsort (2)
-
tsort
_ each (2) - type (1)
- value (1)
- value= (1)
-
value
_ expr (1) - version (1)
- version= (1)
-
void
_ expr (1) -
void
_ stmts (1) - write (1)
- yaml (1)
-
yaml
_ tag (1) - yycompile (1)
検索結果
先頭5件
-
static int parse
_ string(NODE *quote) (78601.0) -
lex_strterm 形式のノード quote の指示に従い、 文字列の終端または埋め込み式の始まりまで読みこみます。
lex_strterm 形式のノード quote の指示に従い、
文字列の終端または埋め込み式の始まりまで読みこみます。 -
psych (78037.0)
-
yaml のバックエンドライブラリです。libyaml ベースで作成されてお り、YAML バージョン 1.1 を扱う事ができます。
yaml のバックエンドライブラリです。libyaml ベースで作成されてお
り、YAML バージョン 1.1 を扱う事ができます。
=== 概要
Psych を用いると YAML のパースと出力ができます。
これらの機能は libyaml http://pyyaml.org/wiki/LibYAML を用いて
実装されています。さらに Ruby の大半のオブジェクトと YAML フォーマットの
データの間を相互に変換することができます。
=== 基本的な使いかた
//emlist[][ruby]{
require 'psych'
# YAML のテキストをパースする
Psych.l... -
Psych
:: Nodes :: Node (72001.0) -
YAML AST のノードを表す抽象クラスです。
YAML AST のノードを表す抽象クラスです。
このクラスをインスタンス化することは不適切です。
すべてのノードのクラスはこのクラスの派生クラスです。 -
REXML
:: Node # previous _ sibling _ node -> REXML :: Node | nil (45907.0) -
前の兄弟ノードを返します。
前の兄弟ノードを返します。
前の兄弟ノードが存在しない場合(ノードがルートである場合や、
最初のノードである場合)は nil を返します。 -
REXML
:: DocType # node _ type -> Symbol (45604.0) -
Symbol :doctype を返します。
Symbol :doctype を返します。 -
NODE * rb
_ node _ newnode(enum node _ type type , NODE *a0 , NODE *a1 , NODE *a2) (38701.0) -
ノードタイプが type で a0 a1 a2 を 要素に持つノードを生成し、返します。
ノードタイプが type で a0 a1 a2 を
要素に持つノードを生成し、返します。 -
static NODE * copy
_ node _ scope(NODE *node , VALUE rval) (37597.0) -
node の先頭についているはずの、 ローカル変数スコープを積むための情報を格納したノード NODE_SCOPE を コピーして返します。そのとき nd_rval に rval を格納します。
node の先頭についているはずの、
ローカル変数スコープを積むための情報を格納したノード NODE_SCOPE を
コピーして返します。そのとき nd_rval に rval を格納します。 -
static enum node
_ type nodetype(node) (37549.0) -
node の種類を返します。 デバッグ用です。
node の種類を返します。
デバッグ用です。 -
REXML
:: AttlistDecl # node _ type -> Symbol (36604.0) -
Symbol :attlistdecl を返します。
Symbol :attlistdecl を返します。 -
REXML
:: Attribute # node _ type -> Symbol (36604.0) -
「:attribute」というシンボルを返します。
「:attribute」というシンボルを返します。 -
REXML
:: Comment # node _ type -> Symbol (36604.0) -
シンボル :comment を返します。
シンボル :comment を返します。 -
REXML
:: Document # node _ type -> Symbol (36604.0) -
シンボル :document を返します。
シンボル :document を返します。 -
REXML
:: Element # node _ type -> Symbol (36604.0) -
シンボル :element を返します。
シンボル :element を返します。 -
REXML
:: Instruction # node _ type -> Symbol (36604.0) -
Symbol :processing_instruction を返します。
Symbol :processing_instruction を返します。 -
REXML
:: Text # node _ type -> Symbol (36604.0) -
Symbol :text を返します。
Symbol :text を返します。 -
REXML
:: XMLDecl # node _ type -> Symbol (36604.0) -
シンボル :xmldecl を返します。
シンボル :xmldecl を返します。 -
Addrinfo
# ipv6 _ mc _ nodelocal? -> bool (36601.0) -
IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。 -
Socket
:: Constants :: TCP _ NODELAY -> Integer (36601.0) -
Don't delay sending to coalesce packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Don't delay sending to coalesce packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(4freebsd),
tcp(7linux), netinet/tcp.h(header) -
Socket
:: TCP _ NODELAY -> Integer (36601.0) -
Don't delay sending to coalesce packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Don't delay sending to coalesce packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(4freebsd),
tcp(7linux), netinet/tcp.h(header) -
rexml
/ parsers / ultralightparser (36037.0) -
パース結果を配列で作られた木構造により返すパーサ。
パース結果を配列で作られた木構造により返すパーサ。
REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。
===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノードは配列で表現されます。
配列の最初の要素はシンボルでノードの種類を表わし、2番目以降の要素で
そのノードの情報を保持しています。
例えばテキストノードは [:text, テキ... -
Psych
:: Nodes :: Node # children -> [Psych :: Nodes :: Node] (27904.0) -
子ノードの集合を配列で返します。
子ノードの集合を配列で返します。 -
ObjectSpace
. # count _ nodes(result _ hash = nil) -> Hash (27355.0) -
ノードの種類ごとの数を格納したハッシュを返します。
ノードの種類ごとの数を格納したハッシュを返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。プローブ効果を避けるために使用します。
@raise TypeError result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスやメモリ管理に興味のある C Ruby の開発者向けのものです。
/... -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (27355.0) -
self のデバッグ用の情報を含んだ文字列を返します。
self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//} -
RubyVM
:: AbstractSyntaxTree :: Node # type -> Symbol (27355.0) -
self の種類を Symbol で返します。
self の種類を Symbol で返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.type # => :SCOPE
//} -
REXML
:: Parent # parent? -> bool (27319.0) -
true を返します。
true を返します。
@see REXML::Node#parent -
Psych
:: Nodes :: Node # each {|node| . . . } -> () (27304.0) -
self のノードをルートとする部分木の各ノードを引数として ブロックを呼び出します。
self のノードをルートとする部分木の各ノードを引数として
ブロックを呼び出します。
ブロックを省略した場合は Enumerator を返します。 -
OpenSSL
:: OCSP :: NODELEGATED -> Integer (27301.0) -
delegated trust を許可しないことを意味します。
delegated trust を許可しないことを意味します。
このフラグ定数は使われていません。 -
Psych
:: Nodes :: Document # implicit -> bool (27301.0) -
ドキュメントが implicit に始まっているかどうかを返します。
ドキュメントが implicit に始まっているかどうかを返します。
@see Psych::Nodes::Document#implicit=,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # implicit=(bool) (27301.0) -
ドキュメントが implicit に始まっているかどうかを設定します。
ドキュメントが implicit に始まっているかどうかを設定します。
@param bool ドキュメントが implicit に始まっているかどうかの設定値
@see Psych::Nodes::Document#implicit,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # implicit _ end -> bool (27301.0) -
ドキュメントが implicit に終わっているかどうかを返します。
ドキュメントが implicit に終わっているかどうかを返します。
オブジェクト生成時のデフォルト値は true です。
@see Psych::Nodes::Document#implicit_end= -
Psych
:: Nodes :: Document # implicit _ end=(bool) (27301.0) -
ドキュメントが implicit に終わっているかどうかを設定します。
ドキュメントが implicit に終わっているかどうかを設定します。
@param bool ドキュメントが implicit に終わっているかどうかの設定値
@see Psych::Nodes::Document#implicit_end -
Psych
:: Nodes :: Mapping # implicit -> bool (27301.0) -
mapping が implicit に開始されたかどうかを真偽値で返します。
mapping が implicit に開始されたかどうかを真偽値で返します。
@see Psych::Nodes::Mapping#implicit=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # implicit=(bool) (27301.0) -
mapping が implicit に開始されたかどうかを真偽値で設定します。
mapping が implicit に開始されたかどうかを真偽値で設定します。
@param bool 設定値
@see Psych::Nodes::Mapping#implicit,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Node # to _ yaml(io=nil , options={}) -> String | IO (27301.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Psych
:: Nodes :: Node # yaml(io=nil , options={}) -> String | IO (27301.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Psych
:: Nodes :: Scalar # plain -> bool (27301.0) -
scalar が plain style であるかどうかを返します。
scalar が plain style であるかどうかを返します。
@see Psych::Nodes::Scalar#plain=,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # plain=(bool) (27301.0) -
scalar が plain style であるかどうかを変更します。
scalar が plain style であるかどうかを変更します。
@param bool 設定する真偽値
@see Psych::Nodes::Scalar#plain,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar :: PLAIN -> Integer (27301.0) -
plain scalar style を表します。
plain scalar style を表します。
@see Psych::Nodes::Scalar.new,
Psych::Nodes::Scalar#style,
Psych::Handler#scalar -
Psych
:: Nodes :: Sequence # implicit -> bool (27301.0) -
sequence が implicit に開始されたかどうかを真偽値で返します。
sequence が implicit に開始されたかどうかを真偽値で返します。
@see Psych::Nodes::Sequence#implicit=,
Psych::Nodes::Sequence.new -
Psych
:: Nodes :: Sequence # implicit=(bool) (27301.0) -
sequence が implicit に開始されたかどうかを真偽値で設定します。
sequence が implicit に開始されたかどうかを真偽値で設定します。
@param bool 設定値
@see Psych::Nodes::Sequence#implicit,
Psych::Nodes::Sequence.new -
REXML
:: Node # index _ in _ parent -> Insteger (27301.0) -
self の親における index を返します。
self の親における index を返します。
返される index は 1-origin です。
ノードが親を持たない(REXML::Child でない)場合は例外を発生させます。 -
REXML
:: Node # parent? -> bool (27301.0) -
子を持つノードであれば真を返します。
子を持つノードであれば真を返します。
REXML::Parent のサブクラスでは真を返します。
それ以外では偽を返します。
@see REXML::Parent#parent? -
Psych
:: Nodes :: Node # tag -> String | nil (27073.0) -
ノードに付加されたタグを返します。
ノードに付加されたタグを返します。
タグが付加されていない場合は nil を返します。
ast = Psych.parse(<<EOS)
---
- !!str a
- b
EOS
p ast.root.children[0].value # => "a"
p ast.root.children[0].tag # => "tag:yaml.org,2002:str"
p ast.root.children[1].value # => "b"
p ast.root.children[1].tag # => nil -
Psych
:: Nodes :: Mapping (27019.0) -
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
Psych::Nodes::Mapping は 0 個以上の子ノードを持つことができます。
子ノードの個数は偶数でなければなりません。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias
子ノードは mapping のキーと値が交互に並んでいます。
as... -
Psych
:: Nodes :: Node # each -> Enumerator (27004.0) -
self のノードをルートとする部分木の各ノードを引数として ブロックを呼び出します。
self のノードをルートとする部分木の各ノードを引数として
ブロックを呼び出します。
ブロックを省略した場合は Enumerator を返します。 -
Psych
:: Nodes (27001.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメントに変換するときには、中間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあり... -
Psych
:: Nodes :: Node # to _ ruby -> object (27001.0) -
AST を ruby のオブジェクトに変換します。
AST を ruby のオブジェクトに変換します。 -
Psych
:: Nodes :: Node # transform -> object (27001.0) -
AST を ruby のオブジェクトに変換します。
AST を ruby のオブジェクトに変換します。 -
static NODE * arg
_ blk _ pass(NODE *node1 , NODE *node2) (19801.0) -
-
static NODE * arg
_ prepend(NODE *node1 , NODE *node2) (19801.0) -
-
static NODE * logop(enum node
_ type type , NODE *left , NODE *right) (19501.0) -
-
static NODE * block
_ append(NODE *head , NODE *tail) (19345.0) -
head と tail を NODE_BLOCK のリストとして連結し、 先頭ノードを返します。head または tail が NODE_BLOCK でない場合は NODE_BLOCK に入れたうえでそれを連結します。 head もしくは tail が NULL なら連結はせず、 NULL でないほうを返します。
head と tail を NODE_BLOCK のリストとして連結し、
先頭ノードを返します。head または tail が NODE_BLOCK
でない場合は NODE_BLOCK に入れたうえでそれを連結します。
head もしくは tail が NULL なら連結はせず、
NULL でないほうを返します。 -
static NODE * list
_ append(NODE *head , NODE *tail) (19345.0) -
NODE_LIST のリスト head に非 NODE_LIST のノード tail を連結し、先頭ノードを返します。head が NULL のときは tail を NODE_LIST でラップして返します。
NODE_LIST のリスト head に非 NODE_LIST のノード
tail を連結し、先頭ノードを返します。head が NULL
のときは tail を NODE_LIST でラップして返します。 -
static void fixpos(NODE *node
, NODE *orig) (19297.0) -
orig に格納されているファイル名と行番号を node にコピーします。 node もしくは orig が NULL のときは何もしません。
orig に格納されているファイル名と行番号を node にコピーします。
node もしくは orig が NULL のときは何もしません。 -
Psych
:: Nodes :: Stream . new(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (19255.0) -
Psych::Nodes::Stream オブジェクトを生成して返します。
Psych::Nodes::Stream オブジェクトを生成して返します。
encoding には stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding エンコーディング -
static NODE * call
_ op(NODE *recv , ID id , int narg , NODE *arg1) (19201.0) -
-
static NODE * literal
_ append(NODE *head , NODE *tail) (19201.0) -
-
static NODE * range
_ op(NODE *node) (19201.0) -
-
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (19117.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
TSort
. each _ strongly _ connected _ component(each _ node , each _ child) {|nodes| . . . } -> nil (19051.0) -
TSort.strongly_connected_components メソッドのイテレータ版です。
TSort.strongly_connected_components メソッドのイテレータ版です。
引数 each_node と each_child でグラフを表します。
@param each_node グラフ上の頂点をそれぞれ評価するcallメソッドを持つオブ
ジェクトを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
require 'tsort'
g = {1=>[2... -
TSort
. each _ strongly _ connected _ component _ from(node , each _ child , id _ map={} , stack=[]) {|nodes| . . . } -> () (19009.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
引数 node と each_child でグラフを表します。
返す値は規定されていません。
TSort.each_strongly_connected_component_fromはTSortをincludeして
グラフを表現する必要のないクラスメソッドです。
@param node ノードを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
req... -
static void void
_ expr(NODE *node) (18967.0) -
node の表すプログラムの中に値を使わないと 意味のない式があれば警告を出す。
node の表すプログラムの中に値を使わないと
意味のない式があれば警告を出す。
# 警告が出る例
lvar = 1
lvar # 無駄
p lvar -
static VALUE block
_ pass(VALUE self , NODE *node) (18949.0) -
node を評価して Proc オブジェクトを得、それを積みます。
node を評価して Proc オブジェクトを得、それを積みます。 -
static VALUE superclass(VALUE self
, NODE *node) (18949.0) -
クラス文のスーパークラスを表すノード node を 評価してクラスを得ます。
クラス文のスーパークラスを表すノード node を
評価してクラスを得ます。 -
static int value
_ expr(NODE *node) (18949.0) -
node を評価したときに、確実に値が得られない式が あるならば警告またはエラーにする。
node を評価したときに、確実に値が得られない式が
あるならば警告またはエラーにする。 -
Psych
:: Nodes :: Document # root -> Psych :: Nodes :: Node (18904.0) -
ルートノードを返します。
ルートノードを返します。 -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname) -> RubyVM :: AbstractSyntaxTree :: Node (18904.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
@param pathname パースする対象のファイルパスを指定します
@raise SyntaxError pathname から取得された文字列が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse_file(__FILE__)
# => (SCOPE@1:0-1:50
# tbl: []
# args: nil
# body:
# (F... -
static NODE * new
_ super(NODE *a) (18901.0) -
-
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (18817.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
TSort
. each _ strongly _ connected _ component(each _ node , each _ child) -> Enumerator (18751.0) -
TSort.strongly_connected_components メソッドのイテレータ版です。
TSort.strongly_connected_components メソッドのイテレータ版です。
引数 each_node と each_child でグラフを表します。
@param each_node グラフ上の頂点をそれぞれ評価するcallメソッドを持つオブ
ジェクトを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
require 'tsort'
g = {1=>[2... -
TSort
. strongly _ connected _ components(each _ node , each _ child) -> Array (18748.0) -
強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。
強連結成分の集まりを配列の配列として返します。
この配列は子から親に向かってソートされています。
各要素は強連結成分を表す配列です。
引数 each_node と each_child でグラフを表します。
@param each_node グラフ上の頂点をそれぞれ評価するcallメソッドを持つオブ
ジェクトを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
require 'ts... -
TSort
. each _ strongly _ connected _ component _ from(node , each _ child , id _ map={} , stack=[]) -> Enumerator (18709.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
引数 node と each_child でグラフを表します。
返す値は規定されていません。
TSort.each_strongly_connected_component_fromはTSortをincludeして
グラフを表現する必要のないクラスメソッドです。
@param node ノードを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
req... -
TSort
# each _ strongly _ connected _ component {|nodes| . . . } -> nil (18673.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
REXML
:: Child # previous _ sibling -> REXML :: Node (18640.0) -
前の隣接ノードを返します。
前の隣接ノードを返します。
REXML::Node#previous_sibling_node の別名です。
@see REXML::Child#previous_sibling= -
Enumerator
. produce(initial = nil) { |prev| . . . } -> Enumerator (18637.0) -
与えられたブロックを呼び出し続ける、停止しない Enumerator を返します。 ブロックの戻り値が、次にブロックを呼び出す時に引数として渡されます。 initial 引数が渡された場合、最初にブロックを呼び出す時にそれがブロック 呼び出しの引数として渡されます。initial が渡されなかった場合は nil が 渡されます。
与えられたブロックを呼び出し続ける、停止しない Enumerator を返します。
ブロックの戻り値が、次にブロックを呼び出す時に引数として渡されます。
initial 引数が渡された場合、最初にブロックを呼び出す時にそれがブロック
呼び出しの引数として渡されます。initial が渡されなかった場合は nil が
渡されます。
ブロックが例外 StopIterationを投げた場合、繰り返しが終了します。
@param initial ブロックに最初に渡される値です。任意のオブジェクトを渡せます。
//emlist[例][ruby]{
# 1, 2, 3, 4, ... と続く En... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (18637.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
YAML ドキュメントをパースし、YAML の AST を返します。
入力に複数のドキュメントが含まれている場合は、先頭のものを AST に変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたと... -
Psych
:: Nodes :: Scalar . new(value , anchor=nil , tag=nil , plain=true , quoted=false , style=ANY) -> Psych :: Nodes:Scalar (18619.0) -
Scalar オブジェクトを生成します。
Scalar オブジェクトを生成します。
value は scalar の値を文字列で指定します。
anchor には scalar に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には scalar に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
を指定します。style には node の style を整数値で渡します。
style は次... -
Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (18604.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
YAML ドキュメントをパースします。
yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを
保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//emlist[例][ruby]{
Psych.parse_stream("--... -
Psych
. parse _ stream(yaml) {|node| . . . } -> () (18604.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
YAML ドキュメントをパースします。
yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを
保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//emlist[例][ruby]{
Psych.parse_stream("--... -
RubyVM
:: AbstractSyntaxTree . parse(string) -> RubyVM :: AbstractSyntaxTree :: Node (18604.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
文字列を抽象構文木にパースし、その木の根ノードを返します。
@param string パースする対象の Ruby のコードを文字列で指定します。
@raise SyntaxError string が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
# => (SCOPE@1:0-1:9
# tbl: [:x]
# args: nil
# body:
# (LASGN@1:0-1:9 :x
# ... -
NODE * rb
_ compile _ cstr(const char *f , const char *s , int len , int line) (18601.0) -
C の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
C の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
NODE * rb
_ compile _ file(const char *f , VALUE file , int start) (18601.0) -
Ruby の IO オブジェクト file から文字列を読み込み、 それを Ruby プログラムとして構文木にコンパイルします。 作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に 格納し、同時に ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の IO オブジェクト file から文字列を読み込み、
それを Ruby プログラムとして構文木にコンパイルします。
作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に
格納し、同時に ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
NODE * rb
_ compile _ string(const char *f , VALUE s , int line) (18601.0) -
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
Psych
. parse _ file(filename) -> Psych :: Nodes :: Document (18601.0) -
filename で指定したファイルをパースして YAML の AST を返します。
filename で指定したファイルをパースして YAML の AST を返します。
@param filename パースするファイルの名前
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します -
Psych
:: Nodes :: Alias . new(anchor) -> Psych :: Nodes :: Alias (18601.0) -
新たな Alias オブジェクトを生成します。
新たな Alias オブジェクトを生成します。
anchor で指す先の anchor を指定します。
@param anchor 指す先の anchor -
Psych
:: Nodes :: Document . new(version=[] , tag _ directives=[] , implicit=false) -> Psych :: Nodes :: Document (18601.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
version にはドキュメントのバージョンを指定します。
[major, minor] という配列で指定します。
tag_directives には tag directive の配列を指定します。
それぞれの tag は [prefix, suffix] という文字列の配列で
表現します。
implicit にはドキュメントが implicit に始まっているかどうかを
真偽値で指定します。
@param version YAML ドキュメントのバージョン
@param tag_directives tag directive の配列... -
Psych
:: Nodes :: Mapping . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Mapping (18601.0) -
新たな mapping オブジェクトを生成します。
新たな mapping オブジェクトを生成します。
anchor には mapping に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には mapping に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には mapping が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nodes::... -
Psych
:: Nodes :: Sequence . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Sequence (18601.0) -
新たな sequence オブジェクトを生成します。
新たな sequence オブジェクトを生成します。
anchor には sequence に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には sequence に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には sequence が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nod... -
static NODE * compile(VALUE src
, char *file , int line) (18601.0) -
Ruby の文字列または IO オブジェクト src を 構文木にコンパイルし、返します。そのとき、src が ファイル file の line 行目から始まっていると仮定します。
Ruby の文字列または IO オブジェクト src を
構文木にコンパイルし、返します。そのとき、src が
ファイル file の line 行目から始まっていると仮定します。 -
static NODE * yycompile(char *f
, int line) (18601.0) -
コンパイルを開始します。そのとき、 ファイル名 f の line 行目からを コンパイルするものと仮定します。
コンパイルを開始します。そのとき、
ファイル名 f の line 行目からを
コンパイルするものと仮定します。 -
static VALUE module
_ setup(VALUE module , NODE *n) (18601.0) -
module を定義するモジュール文の本体 n を評価します。
module を定義するモジュール文の本体 n を評価します。 -
static int ins
_ methods _ priv _ i(ID key , NODE *body , VALUE ary) (18601.0) -
rb_class_instance_methods() のイテレータブロック (private メソッド版)。
rb_class_instance_methods() のイテレータブロック
(private メソッド版)。 -
static int ins
_ methods _ prot _ i(ID key , NODE *body , VALUE ary) (18601.0) -
rb_class_instance_methods() のイテレータブロック (protected メソッド版)。
rb_class_instance_methods() のイテレータブロック
(protected メソッド版)。 -
TSort
# each _ strongly _ connected _ component -> Enumerator (18373.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
TSort
# strongly _ connected _ components -> Array (18373.0) -
強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。
強連結成分の集まりを配列の配列として返します。
この配列は子から親に向かってソートされています。
各要素は強連結成分を表す配列です。
//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
non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
p non_sor... -
Psych
:: Nodes :: Stream # encoding=(enc) (18055.0) -
stream に使われるエンコーディングを指定します。
stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param enc 設定するエンコーディング
@see Psych::Nodes::Stream#encoding -
rdoc
/ parser / changelog (18019.0) -
ChangeLog ファイルを解析するためのサブライブラリです。
ChangeLog ファイルを解析するためのサブライブラリです。
ChangeLog ファイルを解析して、RDoc::Markup::Document オブジェクト
に変換します。出力される HTML はサイドバーに日ごとに分けられます。
このサブライブラリは主に MRI の ChangeLog を解析するために使われますが、
GNU style の ChangeLog(http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html
参照)であれば解析できます。 -
Psych
:: Nodes :: Alias (18001.0) -
YAML の alias http://yaml.org/spec/1.1/#alias を表すクラス。
YAML の alias http://yaml.org/spec/1.1/#alias を表すクラス。
anchor で別の YAML の要素を指します。
alias は YAML の AST の葉のノードであり、子ノードを持ちません。 -
Psych
:: Nodes :: Alias # anchor -> String (18001.0) -
alias が指す先の anchor を返します。
alias が指す先の anchor を返します。
@see Psych::Nodes::Alias#anchor=,
Psych::Nodes::Alias.new -
Psych
:: Nodes :: Alias # anchor=(val) (18001.0) -
alias が指す先の anchor を変更します。
alias が指す先の anchor を変更します。
@param val 設定する anchor
@see Psych::Nodes::Alias#anchor,
Psych::Nodes::Alias.new