ライブラリ
- ビルトイン (66)
- csv (3)
- etc (3)
-
fiddle
/ import (12) - json (1)
-
json
/ add / ostruct (2) -
json
/ add / struct (2) - mkmf (2)
- objspace (1)
- openssl (5)
- ostruct (18)
- rake (1)
-
rexml
/ document (10) -
rexml
/ parsers / pullparser (1) -
rexml
/ sax2listener (1) -
rexml
/ streamlistener (1) - socket (7)
- zlib (1)
クラス
- Addrinfo (3)
- Array (3)
- CSV (3)
-
Fiddle
:: CStruct (5) - Hash (1)
-
OpenSSL
:: ASN1 :: Constructive (3) - OpenStruct (19)
-
REXML
:: Element (1) -
REXML
:: Instruction (8) -
REXML
:: Parsers :: PullEvent (1) -
Rake
:: Application (1) - Range (1)
- RubyVM (1)
-
RubyVM
:: InstructionSequence (21) -
Socket
:: Option (3) - String (1)
- Struct (33)
- TracePoint (1)
モジュール
- Etc (1)
-
Fiddle
:: Importer (6) - Kernel (2)
- ObjectSpace (5)
-
OpenSSL
:: ASN1 (1) -
REXML
:: SAX2Listener (1) -
REXML
:: StreamListener (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - == (3)
- Addrinfo (1)
- CStruct (1)
- CircularDatastructure (1)
- Constructive (1)
-
DATA
_ PTR (1) -
Data
_ Get _ Struct (1) -
Data
_ Make _ Struct (1) -
Data
_ Wrap _ Struct (1) - Group (1)
-
INSTRUCTION
_ NAMES (1) - InspectKey (1)
- Instruction (1)
- InstructionSequence (1)
- Marshal フォーマット (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 2
. 6 . 0 (1) -
NEWS for Ruby 2
. 7 . 0 (1) -
NEWS for Ruby 3
. 0 . 0 (1) -
NEWS for Ruby 3
. 1 . 0 (1) - OpenStruct (1)
- Passwd (1)
- RARRAY (1)
- RBASIC (1)
- RBIGNUM (1)
- RCLASS (1)
- RDATA (1)
- RFILE (1)
- RFLOAT (1)
- RHASH (1)
- RMODULE (1)
- ROBJECT (1)
- RREGEXP (1)
- RSTRING (1)
- RSTRUCT (1)
-
RUBY
_ DATA _ FUNC (1) - Ruby用語集 (1)
-
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (1) - ZStream (1)
- [] (3)
- []= (2)
-
absolute
_ path (1) -
base
_ label (1) - bigdecimal (1)
-
blk
_ copy _ prev (1) -
blk
_ free (1) -
blk
_ mark (1) -
blk
_ orphan (1) -
bm
_ mark (1) - clone (1)
- compile (1)
-
compile
_ file (1) -
compile
_ option (1) -
compile
_ option= (1) - content (1)
- content= (1)
- convert (3)
-
count
_ tdata _ objects (1) -
create
_ value (1) - data (1)
-
delete
_ field (1) - dig (4)
- disasm (2)
- disassemble (2)
-
dyna
_ pop (1) -
dyna
_ push (1) - each (3)
-
each
_ object (4) -
each
_ pair (4) - eql? (2)
- equal? (1)
- eval (1)
-
fc
_ i (1) -
fc
_ path (1) - fiddle (1)
-
fiddle
/ import (1) -
fiddle
/ types (1) - filter (2)
-
first
_ lineno (1) -
frame
_ dup (1) -
gvar
_ i (1) - hash (2)
-
have
_ struct _ member (2) - inspect (3)
- instruction (1)
- instruction? (1)
-
instruction
_ sequence (1) - instructions (1)
-
ivar
_ i (1) -
json
/ add / ostruct (1) -
json
/ add / struct (1) -
json
_ create (2) -
keyword
_ init? (1) - label (1)
- length (1)
- linger (1)
-
load
_ from _ binary (1) -
load
_ from _ binary _ extra _ data (1) - malloc (1)
-
mark
_ global _ entry (1) - members (2)
- modifiable (1)
- new (9)
-
new
_ blktag (1) -
new
_ dvar (1) -
new
_ ostruct _ member (1) -
node
_ type (1) - of (1)
- ostruct (1)
- pack (2)
- pack テンプレート文字列 (1)
- path (1)
-
processing
_ instruction (1) -
rb
_ gc _ mark _ frame (1) -
rb
_ global _ entry (1) -
rb
_ gvar _ defined (1) -
rb
_ gvar _ get (1) -
rb
_ gvar _ set (1) -
rb
_ reserved _ word (1) -
rb
_ thread _ wait _ for (1) -
rb
_ time _ timespec _ new (1) -
rb
_ timespec _ now (1) -
remove
_ trace (1) -
rexml
/ document (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 9 feature (1) -
scope
_ dup (1) - select (2)
- size (2)
- sizeof (1)
- socket (1)
-
st
_ init _ table (1) -
st
_ init _ table _ with _ size (1) - struct (1)
- tagging (1)
- tagging= (1)
- target (1)
- target= (1)
-
to
_ a (2) -
to
_ binary (1) -
to
_ h (4) -
to
_ i (1) -
to
_ json (2) -
to
_ ptr (1) -
to
_ s (4) -
to
_ sockaddr (1) -
trace
_ en (1) -
trace
_ ev (1) - traverse (1)
- typealias (1)
-
undef
_ setter (1) - union (1)
- unpack (1)
-
val
_ setter (1) - value (1)
- values (1)
-
values
_ at (1) - yaml (1)
-
yaml
/ store (1)
検索結果
先頭5件
-
RubyVM
:: InstructionSequence # disassemble -> String (9001.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # eval -> object (9001.0) -
self の命令シーケンスを評価してその結果を返します。
self の命令シーケンスを評価してその結果を返します。
RubyVM::InstructionSequence.compile("1 + 2").eval # => 3 -
RubyVM
:: InstructionSequence # first _ lineno -> Integer (9001.0) -
self が表す命令シーケンスの 1 行目の行番号を返します。
self が表す命令シーケンスの 1 行目の行番号を返します。
例1:irb で実行した場合
RubyVM::InstructionSequence.compile('num = 1 + 2').first_lineno
# => 1
例2:
# /tmp/method.rb
require "foo-library"
def foo
p :foo
end
RubyVM::InstructionSequence.of(method(:foo)).first_lineno
# => 2 -
RubyVM
:: InstructionSequence # inspect -> String (9001.0) -
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}
@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path -
RubyVM
:: InstructionSequence # label -> String (9001.0) -
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。
トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"
例2: R... -
RubyVM
:: InstructionSequence # path -> String (9001.0) -
self が表す命令シーケンスの相対パスを返します。
self が表す命令シーケンスの相対パスを返します。
self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"
例2: RubyVM::InstructionSequence.compi... -
RubyVM
:: InstructionSequence # to _ a -> Array (9001.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
RubyVM
:: InstructionSequence # to _ binary(extra _ data = nil) -> String (9001.0) -
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。 RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。
RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
引数の extra_data はバイナリデータと共に保存されます。
RubyVM::InstructionSequence.load_from_binary_extra_data メソッドでこの文字列にアクセス出来ます。
注意: 変換後のバイナリデータはポータブルではありません。 to_binary で得たバイナリデータは他のマシンに移動できません。他... -
RubyVM
:: InstructionSequence . compile _ option -> Hash (9001.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返 します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
します。
//emlist[例][ruby]{
require "pp"
pp RubyVM::InstructionSequence.compile_option
# => {:inline_const_cache=>true,
# :peephole_optimization=>true,
# :tailcall_optimization=>false,
# :specialized_instruction=>true,
# :operands_unification=>true,
# :instructi... -
RubyVM
:: InstructionSequence . compile _ option=(options) (9001.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数 options で指定します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数
options で指定します。
@param options コンパイル時の最適化オプションを true、false、nil、
Hash のいずれかで指定します。true を指定した場合は
全てのオプションを有効にします。false を指定した場合は全
てのオプションを無効にします。nil を指定した場合はいずれ
のオプションも変更しません。また、Hash を指定した
場合は以... -
RubyVM
:: InstructionSequence . disasm(body) -> String (9001.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: InstructionSequence . disassemble(body) -> String (9001.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: InstructionSequence . load _ from _ binary _ extra _ data(binary) -> String (9001.0) -
バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。
バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary("extra_data")
RubyVM::InstructionSequence.load_from_binary_extra_data(binary) # => extra_data
//}
@see RubyVM::InstructionSequence#to_binary -
Struct
:: Group (9001.0) -
Alias of Etc::Group
Alias of Etc::Group -
Struct
:: Passwd (9001.0) -
Alias of Etc::Passwd
Alias of Etc::Passwd -
static struct RVarmap * new
_ dvar(ID id , VALUE value , struct RVarmap *prev) (601.0) -
-
struct RArray * RARRAY(VALUE obj) (397.0)
-
obj を struct RArray* にキャストする。 本当は obj が struct RArray* でないとしてもキャストしてしまう。
obj を struct RArray* にキャストする。
本当は obj が struct RArray* でないとしてもキャストしてしまう。 -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (349.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。
@param type 型を表す文字列
@param val 構造体に確保される初期値
例
require 'fiddle/import'
module M
... -
Fiddle
:: Importer # value(type , val = nil) -> Fiddle :: CStruct (349.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。
@param type 型を表す文字列
@param val 構造体に確保される初期値
例
require 'fiddle/import'
module M
... -
st
_ table * st _ init _ table _ with _ size(struct st _ hash _ type *type , int size) (349.0) -
st_table を作成する。_with_size はサイズを指定して生成する。 struct st_hash_type はハッシュ値を得る関数と、同値判定を行う 関数を持つ。
st_table を作成する。_with_size はサイズを指定して生成する。
struct st_hash_type はハッシュ値を得る関数と、同値判定を行う
関数を持つ。 -
static struct kwtable * rb
_ reserved _ word(const char *str , unsigned int len) (319.0) -
長さ len の文字列 str が予約語であれば そのフラグテーブルを返します。str が予約語でなければ NULL を返します。
長さ len の文字列 str が予約語であれば
そのフラグテーブルを返します。str が予約語でなければ
NULL を返します。
struct kwtable {
char *name; /* 予約語の名前 */
int id[2]; /* 0: 非修飾型シンボル
1: 修飾型シンボル (kIF_MOD など) があれば
それを格納する。なければ id[0]... -
OpenSSL
:: ASN1 . # traverse(der) {|depth , off , hlen , len , constructed , tag _ class , tag| . . . } -> nil (301.0) -
DER形式の文字列を解析し、そこに含まれる ASN.1 の値 のプロパティを引数として与えられたブロックを呼びだします。
DER形式の文字列を解析し、そこに含まれる ASN.1 の値
のプロパティを引数として与えられたブロックを呼びだします。
OpenSSL::ASN1.#decode_all のように、文字列に含まれる
全ての ASN.1 オブジェクトのインスタンスを解析します。
ブロックに渡される引数は以下の通りです。
* depth: 再帰の深さ
* off: 対象の値をエンコードした文字列の der の先頭からのオフセット
* hlen: エンコードされたデータのヘッダのバイト数
* len: エンコードされたデータの値フィールドのバイト数
* constructed:対象の AS... -
Rake
:: Application # options -> OpenStruct (301.0) -
コマンドラインで与えられたアプリケーションのオプションを返します。
コマンドラインで与えられたアプリケーションのオプションを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.options # => #<OpenStruct always_multitask=false, backtrace=false, build_all=false, dryrun=false, ignore_deprecate=false, ignore_system=false, job_stats=... -
VALUE rb
_ gvar _ defined(struct global _ entry *entry) (301.0) -
entry で示されるグローバル変数が定義されているなら真。
entry で示されるグローバル変数が定義されているなら真。 -
VALUE rb
_ gvar _ get(struct global _ entry *entry) (301.0) -
グローバル変数のエントリ entry から値を取得します。
グローバル変数のエントリ entry から値を取得します。 -
VALUE rb
_ gvar _ set(struct global _ entry *entry , VALUE val) (301.0) -
グローバル変数のエントリ entry に値を代入します。
グローバル変数のエントリ entry に値を代入します。 -
VALUE rb
_ time _ timespec _ new(const struct timespec *ts , int offset) (301.0) -
引数 ts、offset を元に Time オブジェクトを作成して返します。
引数 ts、offset を元に Time オブジェクトを作成して返します。
@param ts timespec 構造体のポインタ
@param offset 協定世界時との時差(秒)。
-86400 < offset < 86400 の場合は指定した時差に、INT_MAX
を指定した場合は地方時、INT_MAX-1 を指定した場合は UTC に
なります。
@raise ArgumentError offset に上述の範囲以外の値を指定した場合に発生し
ま... -
st
_ table * st _ init _ table(struct st _ hash _ type *type) (301.0) -
-
static VALUE fc
_ path(struct fc _ result *fc , ID name) (301.0) -
-
static VALUE trace
_ en(struct global _ variable *var) (301.0) -
-
static VALUE trace
_ ev(struct trace _ data *data) (301.0) -
-
static int blk
_ orphan(struct BLOCK *data) (301.0) -
data が作成された SCOPE かまたはその子ではない SCOPE を評価しているとき真。
data が作成された SCOPE かまたはその子ではない
SCOPE を評価しているとき真。 -
static int fc
_ i(ID key , VALUE value , struct fc _ result *res) (301.0) -
-
static int gvar
_ i(ID key , struct global _ entry *entry , VALUE ary) (301.0) -
-
static int ivar
_ i(ID key , struct global _ entry *entry , VALUE ary) (301.0) -
-
static int mark
_ global _ entry(ID key , struct global _ entry *entry) (301.0) -
-
static struct BLOCKTAG * new
_ blktag(void) (301.0) -
-
static struct RVarmap * dyna
_ push(void) (301.0) -
ブロックローカル変数テーブルをプッシュします。
ブロックローカル変数テーブルをプッシュします。 -
static void blk
_ copy _ prev(struct BLOCK *block) (301.0) -
-
static void blk
_ free(struct BLOCK *data) (301.0) -
-
static void blk
_ mark(struct BLOCK *data) (301.0) -
-
static void bm
_ mark(struct METHOD *data) (301.0) -
-
static void dyna
_ pop(struct RVarmap *vars) (301.0) -
ブロックローカル変数テーブルをポップします。
ブロックローカル変数テーブルをポップします。 -
static void frame
_ dup(struct FRAME *frame) (301.0) -
frame とその親 FRAME 全てをスタックからヒープに割り当てなおします。
frame とその親 FRAME 全てをスタックからヒープに割り当てなおします。 -
static void remove
_ trace(struct global _ variable *var) (301.0) -
-
static void scope
_ dup(struct SCOPE *scope) (301.0) -
scope とその親の SCOPE 全ての local_vars を スタックからヒープに割り当て直します。
scope とその親の SCOPE 全ての local_vars を
スタックからヒープに割り当て直します。 -
static void undef
_ setter(VALUE val , ID id , void *data , struct global _ variable *var) (301.0) -
-
static void val
_ setter(VALUE val , ID id , void *data , struct global _ variable *var) (301.0) -
-
struct RBasic * RBASIC(VALUE obj) (301.0)
-
-
struct RBignum * RBIGNUM(VALUE obj) (301.0)
-
-
struct RClass * RCLASS(VALUE obj) (301.0)
-
-
struct RClass * RMODULE(VALUE obj) (301.0)
-
-
struct RData * RDATA(VALUE obj) (301.0)
-
-
struct RFile * RFILE(VALUE obj) (301.0)
-
-
struct RFloat * RFLOAT(VALUE obj) (301.0)
-
-
struct RHash * RHASH(VALUE obj) (301.0)
-
-
struct RObject * ROBJECT(VALUE obj) (301.0)
-
-
struct RRegexp * RREGEXP(VALUE obj) (301.0)
-
-
struct RString * RSTRING(VALUE obj) (301.0)
-
引数 obj を RString 構造体にキャストして返します。
引数 obj を RString 構造体にキャストして返します。
@param obj Rubyの文字列オブジェクトを指定します。 -
struct global
_ entry * rb _ global _ entry(ID id) (301.0) -
-
void rb
_ gc _ mark _ frame(struct FRAME *frame) (301.0) -
frame をマークします。
frame をマークします。 -
void rb
_ thread _ wait _ for(struct timeval time) (301.0) -
time の長さの時間が経過するまでカレントスレッドを停止します。
time の長さの時間が経過するまでカレントスレッドを停止します。 -
void rb
_ timespec _ now(struct timespec *ts) (301.0) -
現在時刻を取得してその結果を引数 ts で指定した timespec 構造体に格納します。
現在時刻を取得してその結果を引数 ts で指定した timespec 構造体に格納します。
@param ts timespec 構造体のポインタ -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (199.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
NEWS for Ruby 2
. 2 . 0 (109.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと... -
ruby 1
. 6 feature (109.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
rexml
/ document (91.0) -
DOM スタイルの XML パーサ。
DOM スタイルの XML パーサ。
REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。
以下のプログラムではブックマークの XML からデータを取り出します。
//emlist[][ruby]{
require 'rexml/document'
require 'pp'
Bookmark = Struct.new(:href, :title, :desc)
doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-... -
Marshal フォーマット (73.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...'f' | 数値列の長さ(Fixnum形式) | "%.16g" の文字列 |
//}
//emlist[][ruby]{
p Marshal.dump(Math::PI).unpack("x2 a c a*")
# => ["f", 22, "3.141592653589793"]
p Marshal.dump(0.0/0).unpack("x2 a c a*") # => ["f", 8, "nan"]
p Marshal.dump(1.0/0).unpack("x2 a c a*") # => ["f", 8, "inf"]
p... -
NEWS for Ruby 2
. 6 . 0 (73.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...りました。
誤解を招く名称だったため。 14688
* NKF
* nkf v2.1.5 に更新されました。
* Psych
* Psych 3.1.0 に更新されました。
* RDoc
* 約2倍高速化されました。
* ファイル生成に SOURCE_DATE_EPOCH を使うようにな......* シンタックスエラー出力を修正しました。
* 多数のパース中のバグを修正しました。
* REXML
* REXML 3.1.9 に更新されました。
https://github.com/ruby/rexml/blob/master/NEWS.md を参照してください。
* いくつかの XPath... -
Fiddle
:: Importer # typealias(new , orig) -> () (67.0) -
extern や struct で利用する型の別名を定義します。
extern や struct で利用する型の別名を定義します。
@param new 別名(文字列)
@param orig 別名を付けたい型の名前(文字列)
@see Fiddle::Importer#extern, Fiddle::Importer#sizeof,
Fiddle::Importer#struct, Fiddle::Importer#union -
NEWS for Ruby 2
. 0 . 0 (55.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
NEWS for Ruby 2
. 3 . 0 (55.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.3.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.2.0 以降の変更
=== 言語仕様の変更
* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
897... -
NEWS for Ruby 2
. 5 . 0 (55.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展... -
NEWS for Ruby 3
. 1 . 0 (55.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 3.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......{
foo[0] = bar
//}
* 次の評価順序になります。
//emlist{
1. `foo`
2. `bar`
3. `[]=` called on the result of `foo`
//}
* Ruby 3.1.0より前は、多重代入の評価順序が上記のようではありませんでした。このコードでは、
//emlist[][ruby]{
foo[0], b......//emlist{
1. `a`
2. `b`
3. `foo`
4. `[]=` called on the result of `foo`
5. `bar`
6. `baz=` called on the result of `bar`
//}
* Ruby 3.1.0から単一代入と評価順序が一致するようになり、左が右より先に評価されます。
//emlist{
1. `foo`
2. `bar`
3.... -
ObjectSpace
. # each _ object -> Enumerator (55.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object {|object| . . . } -> Integer (55.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object(klass) -> Enumerator (55.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object(klass) {|object| . . . } -> Integer (55.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
yaml
/ store (55.0) -
RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。
RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。
例:
require 'yaml/store'
Person = Struct.new :first_name, :last_name
people = [Person.new("Bob", "Smith"), Person.new("Mary", "Johnson")]
store = YAML::Store.new "test.store"
store.transaction do
store["people"] = people
store["greeting"... -
Addrinfo
# to _ s -> String (49.0) -
struct sockaddr をパックした形式の文字列に変換します。
struct sockaddr をパックした形式の文字列に変換します。
require 'socket'
Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00" -
Addrinfo
# to _ sockaddr -> String (49.0) -
struct sockaddr をパックした形式の文字列に変換します。
struct sockaddr をパックした形式の文字列に変換します。
require 'socket'
Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00" -
MACRO RUBY
_ DATA _ FUNC(func) (49.0) -
任意の関数へのポインタ func を struct RData の dmark/dfree の 値として適する型に強制キャストします。
任意の関数へのポインタ func を struct RData の dmark/dfree の
値として適する型に強制キャストします。 -
void * DATA
_ PTR(VALUE dta) (49.0) -
実際は struct RData* 型である dta から、 それがラップしているポインタを取り出します。
実際は struct RData* 型である dta から、
それがラップしているポインタを取り出します。 -
CSV
# convert {|field , field _ info| . . . } (37.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert {|field| . . . } (37.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert(name) (37.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
Fiddle
:: Importer # sizeof(t) -> Integer (37.0) -
C における sizeof(t) の値を返します。
C における sizeof(t) の値を返します。
t が文字列の場合、その文字列が表す C の型の size が返されます。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。
Fiddle::Importer#struct で定義した
構造体クラスを渡すと、その構造体のサイズを返します。
Fiddle::Importer#union で定義した共用体クラスも同様です。
t がクラスの場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。
それ... -
fiddle
/ import (37.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。
require 'fiddle/import'
m... -
socket (37.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
...184.68:80 TCP (www.ruby-lang.org:http)>]
* IPSocket.getaddress("www.ruby-lang.org") => "210.163.138.100"
* TCPSocket.gethostbyname("www.ruby-lang.org") => ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]
* Socket.gethostbyname("www.ruby-lang.org") => ["beryllium.ruby-lang.org", [], 2, "\3......_INET", 80, "beryllium.ruby-lang.org", "210.163.138.100", 2, 1, 6]]
逆に IP アドレスからホスト名への変換 (逆引き) を行うメソッドは以下のものが用意されています。
* Socket.getnameinfo([nil, nil, nil, "210.163.138.100"]) => ["beryllium.ruby-lang.org", 0]... -
yaml (37.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
構造化されたデータを表現するフォーマットであるYAML (YAML Ain'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 # => true
//}
... -
Addrinfo (19.0)
-
ソケットのアドレス情報を保持するクラスです。
ソケットのアドレス情報を保持するクラスです。
ホスト/ポート番号/プロトコルなどを同定するために用いられます。
IPv4/IPv6/Unix domain socketなどのアドレス情報を保持することができます。
struct addrinfo に対応します。 -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (19.0) -
新たな Addrinfo オブジェクトを返します。
新たな Addrinfo オブジェクトを返します。
sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
な... -
Array
# dig(idx , . . . ) -> object | nil (19.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。
@param idx インデックスを整数で任意個指定します。
//emlist[例][ruby]{
a = [[1, [2, 3]]]
a.dig(0, 1, 1) # => 3
a.dig(1, 2, 3) # => nil
a.dig(0, 0, 0) # => TypeError: Integer does not have #di... -
Array
# pack(template) -> String (19.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (19.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Fiddle
:: Importer # union(signature) -> Class (19.0) -
C の共用体型に対応する Ruby のクラスを構築して返します。
C の共用体型に対応する Ruby のクラスを構築して返します。
共用体型を Ruby 上で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "lib... -
Hash
# dig(key , . . . ) -> object | nil (19.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。
@param key キーを任意個指定します。
//emlist[例][ruby]{
h = { foo: {bar: {baz: 1}}}
h.dig(:foo, :bar, :baz) # => 1
h.dig(:foo, :zot, :xyz) # => nil
g = { foo: [10, 11, 12] }
g.dig(:foo, 1) # => 11
//}
@see... -
NEWS for Ruby 2
. 7 . 0 (19.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...も1個のエスケープされた文字があるときに2~5倍速くなりました。
https://github.com/ruby/ruby/pull/2226
* CSV
* 3.1.2に更新されました。
https://github.com/ruby/csv/blob/master/NEWS.md
* Date
* Date.jisx0301, Date#jisx0301, Date.parseが新....../NEWS.md
* RubyGems
* RubyGems 3.1.2に更新されました。
* https://github.com/rubygems/rubygems/releases/tag/v3.1.0
* https://github.com/rubygems/rubygems/releases/tag/v3.1.1
* https://github.com/rubygems/rubygems/releases/tag/v3.1.2
* StringScanner
* 1.0.3に... -
NEWS for Ruby 3
. 0 . 0 (19.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...r
* Update to Bundler 2.2.3
* CGI
* Update to 0.2.0
* This version is Ractor compatible.
* CSV
* Update to CSV 3.1.9
* Date
* Update to Date 3.1.1
* This version is Ractor compatible.
* Digest
* Update to Digest 3.0.0
* This version is Ractor compatible.
* E... -
ObjectSpace
. # count _ tdata _ objects(result _ hash = nil) -> Hash (19.0) -
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。プローブ効果を避けるために使用します。
@raise TypeError result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスに興味のある C Ruby の開発者向けのもので...