別のキーワード
モジュール
- Fiddle (2)
- GC (2)
-
GC
:: Profiler (1) - ObjectSpace (1)
- Psych (1)
オブジェクト
- ENV (1)
キーワード
-
Data
_ Make _ Struct (1) -
Data
_ Wrap _ Struct (1) - GC (1)
- GNU (1)
-
NEWS for Ruby 2
. 1 . 0 (1) -
RUBY
_ FREE (1) - STR2CSTR (1)
- clone (2)
-
count
_ objects (1) - freeze (2)
-
ole
_ query _ interface (1) -
raw
_ data (1) -
rb
_ data _ object _ alloc (1) -
rdoc
/ markdown (1) -
ruby 1
. 8 . 4 feature (1) -
ruby
_ xfree (1) -
safe
_ load (1) - stat (2)
-
syslog
/ logger (1) - 正規表現 (1)
検索結果
先頭5件
-
void ruby
_ xfree(void *x) (96697.0) -
以前 malloc/calloc/realloc して free していないポインタ x を 開放します。ruby のシグナル機構とコンフリクトしません。
以前 malloc/calloc/realloc して free していないポインタ x を
開放します。ruby のシグナル機構とコンフリクトしません。 -
Fiddle
. # free(addr) -> nil (54340.0) -
指定された addr が指すメモリ領域を開放します。
指定された addr が指すメモリ領域を開放します。
必ず Fiddle.#malloc が返した整数を addr に与えなければいけません。
そうでない場合、ruby インタプリタが異常終了します。
@param addr Fiddle.#malloc で確保されたメモリ領域を指す整数を指定します。
例:
require 'fiddle'
addr = Fiddle.malloc(10)
p addr #=> 136942800
Fiddle.free(addr) -
Fiddle
:: RUBY _ FREE -> Integer (36655.0) -
ruby_xfree の関数ポインタのアドレスの値。
ruby_xfree の関数ポインタのアドレスの値。 -
Object
# freeze -> self (18337.0) -
オブジェクトを凍結(内容の変更を禁止)します。
オブジェクトを凍結(内容の変更を禁止)します。
凍結されたオブジェクトの変更は
例外 FrozenError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#trace_var が使えます。
@return self を返します。
//emlist[][ruby]{
a1... -
Module
# freeze -> self (18319.0) -
モジュールを凍結(内容の変更を禁止)します。
モジュールを凍結(内容の変更を禁止)します。
凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
FrozenError
が発生します。
@see Object#freeze
//emlist[例][ruby]{
module Foo; end
Foo.freeze
module Foo
def foo; end
end # => FrozenError: can't modify frozen module
//} -
ruby 1
. 8 . 4 feature (13516.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
NEWS for Ruby 2
. 1 . 0 (9568.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...理数になる
42r # => Rational(42, 1)
3.14 # => 3.14.rationalize
6.022e+23r # 指数形式と一緒には使えない
# i を付けると虚数単位 i を掛けた数になる
42i # => Complex(0, 42)
3.14i # => Complex(0, 3.14)
# ri を付けると複素数の虚......部が有理数になる
42ri # => Complex(0, 42r)
3.14ri # => Complex(0, 3.14r)
//}
* def によるメソッド定義式は nil の代わりにメソッド名をシンボルで返します
=== 組み込みクラスの更新
* Array
* 追加: Array#to_h キーと値のペアの... -
GC (1471.0)
-
GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。
GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御
するモジュールです。
=== GCのチューニングについて
Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。
それにともない、以下の環境変数が導入され、これらを
設定することでGCの動作をチューニングすることができます。
これらの環境変数の効果はRubyの起動時のみ有効です(つまりrubyを動かしている
途中で変更することはできません)。
====[a:tuning_gc] チューニングのための環境変数
* RUBY_GC_HEAP_INIT_SLOTS (de... -
VALUE Data
_ Make _ Struct(VALUE klass , type , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , type *svar) (1051.0) -
type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。
type 型の構造体をヒープに割り当ててそれへのポインタを
svar に代入し、クラス klass のインスタンスである
Ruby のオブジェクトを生成し、それを返します。mark
free はそれぞれマーク用・解放用の関数へのポインタです。
どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下のようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には svar の値が渡されます。
使用例
struct mytype {
int i;
... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (1051.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
C の構造体 sval をラップして klass クラスの
インスタンスである Ruby オブジェクトを生成し、それを返します。
mark、free はそれぞれ sval のマーク用・解放用の
関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下のようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には sval が渡されます。
使用例
struct mytype {
int i;
char *s;
... -
正規表現 (931.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...= /\A
\d+ # 整数部
(\. # 小数点
\d+ # 小数部
)? # 小数点 + 小数部 はなくともよい
\z/x
float_pat.match("3.14") # => #<MatchData "3.14" 1:".14">
//}
空白を表現したい場合はエスケープをしてください。
//emlist[][ruby]{
/x y/x.match("x y") # => ni... -
VALUE rb
_ data _ object _ alloc(VALUE klass , void *datap , RUBY _ DATA _ FUNC dmark , RUBY _ DATA _ FUNC dfree) (901.0) -
datap をラップするオブジェクトを生成し、返します。 そのクラスは klass となり、datap をマークするときは dmark、解放するときは dfree を使うようになります。
datap をラップするオブジェクトを生成し、返します。
そのクラスは klass となり、datap をマークするときは
dmark、解放するときは dfree を使うようになります。 -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false , freeze: false) -> object (439.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデータ構造はデフォルトでは許可されていません。
任意のクラスを許可するにはキーワード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitte... -
Object
# clone(freeze: nil) -> object (355.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze true を指定すると freeze されたコピーを返します。
... -
ENV
. clone(freeze: true) -> object (319.0) -
ENV オブジェクトの複製を作成して返します。
...全体で共有される環境変数を操作するラッパーオブジェクトなので、複製は有用ではありません。
そのため、3.1 からは複製で環境変数を操作するときに deprecated 警告がでます。
テスト実行中に環境変数を退避する用途に... -
GNU (103.0)
-
GNU FSF (Free Software Foundation) が長い間かけて築き上げて来た OS。GNU ユー ティリティをふんだんに使って有名になるとこのブランド名がつくことがある。
GNU
FSF (Free Software Foundation) が長い間かけて築き上げて来た OS。GNU ユー
ティリティをふんだんに使って有名になるとこのブランド名がつくことがある。
GNU is Not Unix なので、敬意を表して platform/Unix の括りから出す
ことにした。ここでは、GNU Hurd (カーネルの名前)で動く Ruby について主に
触れる。
探してみたら、6712, 14603 にパッチの投稿
がある。きっと今でも動くに違いない。情報求む。
http://www.gnu.org/ 参照 -
char * STR2CSTR(VALUE str) (103.0)
-
Ruby のオブジェクト str から C の文字列を取り出します。 str が String でない場合は to_str によって変換を試みます。
Ruby のオブジェクト str から C の文字列を取り出します。
str が String でない場合は to_str によって変換を試みます。
返り値を free したり直接書き換えたりしてはいけません。
STR2CSTR は、与えられたオブジェクトが文字列でなく to_str メソッ
ドを持つ場合、内部で to_str を呼び出して暗黙の型変換を行い、
それが保持する文字列ポインタを返します。
しかし、このAPIでは暗黙の型変換結果となるオブジェクトがどこからも
保持されないため、注意して使用しないと結果が GC される可能性があります。
Ruby 1.7 以降では代わりに S... -
ObjectSpace
. # count _ objects(result _ hash = {}) -> Hash (73.0) -
オブジェクトを種類ごとにカウントした結果を Hash として返します。
オブジェクトを種類ごとにカウントした結果を Hash として返します。
このメソッドは C Ruby 以外の Ruby では動かないでしょう。
@param result_hash ハッシュを指定します。与えられたハッシュは上書きして返されます。
これを利用すると測定による影響を避けることができます。
@raise TypeError 引数に Hash 以外を与えた場合、発生します。
//emlist[例][ruby]{
ObjectSpace.count_objects # => {:TOTAL=>10000, :FREE=>3011, :T_... -
GC
:: Profiler . raw _ data -> [Hash , . . . ] | nil (55.0) -
GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ ていない場合は nil を返します。
GC のプロファイル情報を GC の発生ごとに Hash の配列
(:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ
ていない場合は nil を返します。
例:
GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
... -
WIN32OLE
# ole _ query _ interface(iid) -> WIN32OLE (55.0) -
IID(インターフェイスID)を指定してオブジェクトの別のインターフェイスを 持つオブジェクトを取得します。
IID(インターフェイスID)を指定してオブジェクトの別のインターフェイスを
持つオブジェクトを取得します。
オブジェクトが複数のオートメーション用インターフェイスを持つ場合に、当
メソッドを利用して既定のインターフェイスとは異なるインターフェイスを取
得します。
@param iid 取得するインターフェイスのIIDを文字列で指定します。
@return iidパラメータで指定したインターフェイスを持つWIN32OLEオブジェクト
@raise WIN32OLERuntimeError 指定したIIDをオブジェクトが持たない場合に通知されます。
ie = WIN32OLE.n... -
rdoc
/ markdown (55.0) -
Markdown 形式で記述されたドキュメントを rdoc 上で解析するための サブライブラリです。
Markdown 形式で記述されたドキュメントを rdoc 上で解析するための
サブライブラリです。
詳しくは以下を参照してください。
* https://daringfireball.net/projects/markdown/syntax
Markdown 形式をデフォルトのフォーマットにする場合は、
lib:rdoc#saved_options を参考に プロジェクトのデフォルトを
.rdoc_options ファイルで設定してください。
=== 拡張
以降の Markdown の拡張は RDoc のパーサ独自にサポートされているも
のです。ただし、全てがデフォルトで有効にな... -
GC
. stat(key) -> Numeric (37.0) -
GC 内部の統計情報を Hash で返します。
GC 内部の統計情報を Hash で返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。
@param key 得られる統計情報から特定の情報を取得したい場合にキーを
Symbol で指定します。
@return GC 内部の統計情報をHash で返します。
引数 key を指定した場合は数値を返します。
GC.stat
# =>
... -
GC
. stat(result _ hash = {}) -> {Symbol => Integer} (37.0) -
GC 内部の統計情報を Hash で返します。
GC 内部の統計情報を Hash で返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。
@param key 得られる統計情報から特定の情報を取得したい場合にキーを
Symbol で指定します。
@return GC 内部の統計情報をHash で返します。
引数 key を指定した場合は数値を返します。
GC.stat
# =>
... -
syslog
/ logger (37.0) -
Logger のようなインターフェイスを用いて syslog にログを記録するた めのサブライブラリです。Syslog::Logger を使って複数のマシンでログ を集約する事もできます。
Logger のようなインターフェイスを用いて syslog にログを記録するた
めのサブライブラリです。Syslog::Logger を使って複数のマシンでログ
を集約する事もできます。
デフォルトでは、Syslog::Logger はプログラム名として 'ruby' を使用
します。これを変更したい場合は Syslog::Logger.new の第一引数にプ
ログラム名を渡してください。
[注意] Syslog::Logger のプログラム名の変更は最初の初期化の時だけ
しか行う事ができません。これは Syslog::Logger が syslog を利用す
る上での制限です。(これは...