別のキーワード
ライブラリ
検索結果
-
RDoc
:: Parser :: RubyTools (6017.0) -
RDoc::RubyLex と RDoc::RubyToken を使って Ruby のソースコー ドのパーサを記述するためのメソッドを定義するモジュールです。
...RDoc::RubyLex と RDoc::RubyToken を使って Ruby のソースコー
ドのパーサを記述するためのメソッドを定義するモジュールです。
RDoc::Parser を継承していないため、パーサクラスとしては利用できま
せん。
ライブラリの内部で使用... -
RDoc
:: RubyToken (6001.0) -
ライブラリの内部で使用します。
ライブラリの内部で使用します。 -
RubyVM
:: AbstractSyntaxTree (3017.0) -
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
...Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
抽象構文木はRubyVM::AbstractSyntaxTree::Nodeクラスのインスタンスとして表されます。
このモジュールはMRIの抽象構文木の実装の詳細を表します。
このモ......し安定したAPIやMRI以外の実装で抽象構文木を扱いたい場合、
parser gem (https://github.com/whitequark/parser)や
Ripperの使用を検討してください。
もし RubyVM::AbstractSyntaxTree のAPIを安定にしたい場合、14844 での議論に参加してください。... -
RubyVM
:: MJIT (3017.0) -
Ruby の JIT 関連のモジュールです。
...Ruby の JIT 関連のモジュールです。... -
GC (401.0)
-
GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。
...GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御
するモジュールです。
=== GCのチューニングについて
Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。
それにともない、以下の環境変数が導入......効果はRubyの起動時のみ有効です(つまりrubyを動かしている
途中で変更することはできません)。
====[a:tuning_gc] チューニングのための環境変数
* RUBY_GC_HEAP_INIT_SLOTS (default: 10000) - 最初に確保されるスロット数。
* RUBY_GC_HEAP_FREE......やす。
* RUBY_GC_HEAP_GROWTH_FACTOR (default: 1.8) - Rubyではスロットを増やすための
メモリ確保をするたびに確保するサイズをこの係数で大きくする。
つまり全スロット数は指数的に増大する。これは動かしているRubyプログラ... -
NKF (41.0)
-
nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を Ruby から使うためのモジュールです。
...anji code conversion Filter, https://osdn.net/projects/nkf/) を
Ruby から使うためのモジュールです。
=== 使い方
以下は、漢字コード変換コマンドの例です。
//emlist[例][ruby]{
#!/usr/local/bin/ruby
require 'nkf'
opt = ''
opt = ARGV.shift if ARGV[0][0] == ?-......while line = ARGF.gets
print NKF.nkf(opt, line)
end
//}
以下は、漢字コード判別コマンドの例です。
//emlist[例][ruby]{
#!/usr/local/bin/ruby
require 'nkf'
CODES = {
NKF::JIS => "JIS",
NKF::EUC => "EUC",
NKF::SJIS => "SJIS",
NKF::UTF8 => "UTF8",
NK......定しないとそのような変換を正しく行うことはできません。
-- 以降のオプションを無視します。
=== 参考
* "標準添付ライブラリ紹介【第 3 回】 Kconv/NKF/Iconv" https://magazine.rubyist.net/articles/0009/0009-BundledLibraries.html#nkf... -
Psych
:: Nodes (37.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
...ych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメン......ラスはすべて Psych::Nodes の下にあります。
AST を手作業で構築して、visitor を使って AST を YAML ドキュメントや
Ruby のオブジェクトに変換したりすることができます。
以下の例ではスカラを1つ持つリストの AST を構築してい......して AST を YAML ドキュメントに
変換できます。
stream.to_yaml => "---\n- foo\n"
Ruby のオブジェクトに変換するためには以下のようにします。
stream.to_ruby => [["foo"]]
=== YAML AST 仕様
正しい YAML AST は Psych::Nodes::Stream ノードが
木の... -
MonitorMixin (31.0)
-
スレッドの同期機構としてのモニター機能を提供するモジュールです。
...モジュールです。
クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。
=== 例
//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'
buf = []
buf.extend......利用する場合は
自動的に初期化されます。
//emlist[extend する例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
//}
しかし、MonitorMixin をクラス定義の際に Module#include を使って
利用する場合は、initialize メソッドで super() か super......、その initialize は引数を受け付けないので
super ではなく super() を呼ぶ必要があります。
//emlist[include する例][ruby]{
require 'monitor'
class MyObject
include MonitorMixin
def initialize(val)
super()
@value = val
end
def to_s
synchronize {... -
Abbrev (25.0)
-
与えられた文字列の短縮形を生成するモジュールです。
...れた文字列の短縮形を生成するモジュールです。
=== 例
require 'abbrev'
require 'pp'
pp Abbrev.abbrev(%w[ruby rules]).sort
# => [["rub", "ruby"],
# ["ruby", "ruby"],
# ["rul", "rules"],
# ["rule", "rules"],
# ["rules", "rules"]]... -
Marshal (17.0)
-
Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり する機能を提供するモジュール。
...Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり
する機能を提供するモジュール。
大部分のクラスのインスタンスを書き出す事ができますが、書き出しの不可能なクラスも存在します(Marshal.#dump...