ライブラリ
- ビルトイン (24)
-
fiddle
/ import (2) - gdbm (2)
- json (2)
- monitor (1)
-
net
/ http (2) - psych (1)
- rake (6)
-
rexml
/ document (2) -
webrick
/ httputils (4) - win32ole (4)
クラス
- Array (2)
- Enumerator (2)
-
Enumerator
:: Lazy (1) - GDBM (2)
- Hash (2)
-
JSON
:: Parser (2) - LocalJumpError (2)
- Module (1)
-
Net
:: HTTPResponse (1) -
REXML
:: Attributes (2) -
Rake
:: TaskArguments (6) - Range (1)
- String (1)
- Thread (5)
- TracePoint (1)
- UncaughtThrowError (1)
-
WEBrick
:: HTTPUtils :: FormData (4) - WIN32OLE (1)
-
WIN32OLE
_ TYPE (1) -
WIN32OLE
_ VARIABLE (1)
モジュール
-
Fiddle
:: Importer (2) - Kernel (1)
-
Net
:: HTTPExceptions (1)
オブジェクト
- ENV (4)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - Marshal フォーマット (1)
- MonitorMixin (1)
-
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) - Parser (1)
- Ruby用語集 (1)
-
WIN32OLE
_ VARIABLE (1) - [] (2)
-
call
_ end _ proc (1) - cgi (1)
-
cgi
/ session (1) -
const
_ set (1) -
create
_ value (1) - each (4)
-
each
_ attribute (1) -
each
_ pair (2) - exit (1)
-
exit
_ value (1) - filename (1)
- filename= (1)
- kill (1)
- name (1)
- name= (1)
- names (1)
-
net
/ http (1) -
net
/ imap (1) - new (4)
-
new
_ scope (1) -
next
_ values (1) - open (2)
- pack (2)
- pack テンプレート文字列 (1)
- parse (1)
-
peek
_ values (1) -
rb
_ extend _ object (1) -
rb
_ f _ send (1) -
rb
_ gc _ mark _ locations (1) -
rb
_ mod _ append _ features (1) -
rb
_ mod _ extend _ object (1) -
rb
_ obj _ extend (1) -
rb
_ set _ end _ proc (1) - reason (1)
- response (1)
-
return
_ value (1) -
rexml
/ document (1) - rss (1)
-
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 9 feature (1) - terminate (1)
-
thread
_ variable _ set (1) - throw (1)
-
to
_ h (2) -
to
_ hash (1) - unpack (1)
- variables (1)
-
win32
/ registry (1) -
with
_ defaults (1) - クラス/メソッドの定義 (1)
- パターンマッチ (1)
検索結果
先頭5件
-
Fiddle
:: Importer # value(type , val = nil) -> Fiddle :: CStruct (54445.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
... -
UncaughtThrowError
# value -> object (54442.0) -
Kernel.#throw に指定した value を返します。
Kernel.#throw に指定した value を返します。
//emlist[例][ruby]{
def do_complicated_things
throw :uncaught_label, "uncaught_value"
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.value # => "uncaught_value"
end
//} -
Net
:: HTTPResponse # value -> nil (54358.0) -
レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。
レスポンスが 2xx(成功)でなかった場合に、対応する
例外を発生させます。
@raise HTTPError レスポンスが 1xx であるか、 net/http が知らない
種類のレスポンスである場合に発生します。
@raise HTTPRetriableError レスポンスが 3xx である場合に発生します。
@raise HTTPServerException レスポンスが 4xx である場合に発生します。
@raise HTTPFatalError レスポンスが 5xx である場合に発生します。
//emlist[例 レスポンスが 2xx(成功)... -
WIN32OLE
_ VARIABLE # value -> object | nil (54358.0) -
変数の値を取得します。
変数の値を取得します。
変数情報によってはenum値のように定数値を持つものがあります。valueメソッ
ドはこのような定数値を返します。
@return この変数が持つ定数値。値を持たない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variable.name}=#{variable.value... -
static VALUE rb
_ f _ send(int argc , VALUE *argv , VALUE recv) (19201.0) -
-
static VALUE rb
_ mod _ append _ features(VALUE module , VALUE include) (19201.0) -
-
static VALUE rb
_ mod _ extend _ object(VALUE mod , VALUE obj) (19201.0) -
-
static VALUE rb
_ obj _ extend(int argc , VALUE *argv , VALUE obj) (19201.0) -
-
void rb
_ extend _ object(VALUE obj , VALUE module) (18901.0) -
-
void rb
_ set _ end _ proc(void (*func)(VALUE) , VALUE data) (18901.0) -
-
static void call
_ end _ proc(VALUE data) (18649.0) -
評価器プロセスが終了するとき、 END 文で登録された Proc オブジェクト data を起動します。
評価器プロセスが終了するとき、
END 文で登録された Proc オブジェクト data を起動します。 -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (18445.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
... -
LocalJumpError
# exit _ value -> object (18394.0) -
例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。
例外 LocalJumpError を発生する原因となった
break や return に渡した値を返します。
例:
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason # => :return
p err.exit_value # => 10
e... -
TracePoint
# return _ value -> object (18358.0) -
メソッドやブロックの戻り値を返します。
メソッドやブロックの戻り値を返します。
@raise RuntimeError :return、:c_return、:b_return イベントのためのイベ
ントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:return) do |tp|
p tp.return_value # => 1
end
trace.enable
foo 1
//} -
Enumerator
# next _ values -> Array (18319.0) -
「次」のオブジェクトを配列で返します。
「次」のオブジェクトを配列で返します。
Enumerator#next とほぼ同様の挙動をします。終端まで到達した場合は
StopIteration 例外を発生させます。
このメソッドは、
yield
と
yield nil
を区別するために使えます。
next メソッドによる外部列挙の状態は他のイテレータメソッドによる
内部列挙には影響を与えません。
ただし、 IO#each_line のようにおおもとの列挙メカニズムが副作用を
伴っている場合には影響があり得ます。
//emlist[例: next と next_values の違いを][ruby]{
o = Object... -
Enumerator
# peek _ values -> Array (18319.0) -
Enumerator#next_values のように「次」のオブジェクトを 配列で返しますが、列挙状態を変化させません。
Enumerator#next_values のように「次」のオブジェクトを
配列で返しますが、列挙状態を変化させません。
Enumerator#next, Enumerator#next_values のように
現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
next と異なり列挙状態を変更しません。
列挙が既に最後へ到達している場合は、StopIteration 例外を発生します。
このメソッドは Enumerator#next_values と同様
yield
と
yield nil
を区別するために使えます。
//emlist[例][ruby]{
o =... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (2683.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
クラス/メソッドの定義 (1765.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
クラス/メソッドの定義
* クラス/メソッドの定義:
* class
* singleton_class
* module
* method
* operator
* nest_method
* eval_method
* singleton_method
* class_method
* limit
* 定義に関する操作:
* alias
* undef
* defined
===[a:class] クラス定義
//emlist[例][ruby]{
class Foo < S... -
rss (1153.0)
-
RSS を扱うためのライブラリです。
RSS を扱うためのライブラリです。
=== 参考
* RSS 0.91 http://backend.userland.com/rss091
* RSS 1.0 http://purl.org/rss/1.0/spec
* RSS 2.0 http://www.rssboard.org/rss-specification
* Atom 1.0 https://www.ietf.org/rfc/rfc4287.txt
=== 注意
RSS ParserはRSS 0.9x/1.0/2.0, Atom 1.0 をサポートしていますが,RSS 0.90
はサポートしてませ... -
void rb
_ gc _ mark _ locations(VALUE *start , VALUE *end) (901.0) -
-
パターンマッチ (829.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
パターンマッチ
* patterns
* variable_binding
* variable_pinning
* matching_non_primitive_objects
* guard_clauses
* current_feature_status
* pattern_syntax
* some_undefined_behavior_examples
パターンマッチは、構造化された値に対して、構造をチェックし、マッチした部分をローカル変数に束縛するという、深いマッチを可能にする実験的な機能です。(『束縛』は、パターンマッチの輸入元である関数型言語... -
Range
. new(first , last , exclude _ end = false) -> Range (520.0) -
first から last までの範囲オブジェクトを生成して返しま す。
first から last までの範囲オブジェクトを生成して返しま
す。
exclude_end が真ならば終端を含まない範囲オブジェクトを生
成します。exclude_end 省略時には終端を含みます。
@param first 最初のオブジェクト
@param last 最後のオブジェクト
@param exclude_end 真をセットした場合終端を含まない範囲オブジェクトを生成します
@raise ArgumentError first <=> last が nil の場合に発生します
//emlist[例: 整数の範囲オブジェクトの場合][ruby]{
Range.new(... -
Rake
:: TaskArguments . new(names , values , parent = nil) (499.0) -
自身を初期化します。
自身を初期化します。
@param names パラメータの名前のリストを指定します。
@param values パラメータの値のリストを指定します。
@param parent 親となる Rake::TaskArguments を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments1 = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])... -
Marshal フォーマット (469.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。
=== nil, true, false
それぞれ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません... -
ENV
. each {|key , value| . . . } -> self (445.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. each _ pair {|key , value| . . . } -> self (445.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
Module
# const _ set(name , value) -> object (436.0) -
モジュールに name で指定された名前の定数を value とい う値として定義し、value を返します。
モジュールに name で指定された名前の定数を value とい
う値として定義し、value を返します。
そのモジュールにおいてすでにその名前の定数が定義されている場合、警
告メッセージが出力されます。
@param name Symbol,String で定数の名前を指定します。
@param value セットしたい値を指定します。
//emlist[例][ruby]{
module Foo; end
# Symbolを指定した場合
Foo.const_set(:FOO, 123)
Foo::FOO # => 123
# Stringを指定した場合
Foo.const_... -
cgi (433.0)
-
CGI プログラムの支援ライブラリです。
CGI プログラムの支援ライブラリです。
CGI プロトコルの詳細については以下の文書を参照してください。
* https://tools.ietf.org/html/draft-coar-cgi-v11-03
* 3875: The Common Gateway Interface (CGI) Version 1.1
* https://www.w3.org/CGI/
=== 使用例
==== フォームフィールドの値を得る
//emlist[][ruby]{
require "cgi"
cgi = CGI.new
values = cgi['field_name'] ... -
Enumerator
:: Lazy . new(obj , size=nil) {|yielder , *values| . . . } -> Enumerator :: Lazy (391.0) -
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに
よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ
ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を
指定できます。
//emlist[Enumerable#filter_map と、その遅延評価版を定義する例][ruby]{
module Enumerable
def filter_map(&block)
map(&block).compact
end
end
class Enumerator::... -
Kernel
. # throw(tag , value = nil) -> () (376.0) -
Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。
Kernel.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。
throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限りません。
もし ensure節 が存在するならジャンプ前に実行します。
同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。
同じ tag であるとは Object#object_id が同じであるという意味です。
@param tag catch の引数に対応する任意のオブジェクトです。
@pa... -
Thread
# thread _ variable _ set(key , value) (370.0) -
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
す。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。
//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join ... -
Hash
# to _ h {|key , value| block } -> Hash (358.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.class # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを... -
REXML
:: Attributes # each {|name , value| . . . } -> () (358.0) -
各属性の名前と値に対しブロックを呼び出します。
各属性の名前と値に対しブロックを呼び出します。
名前には expanded_name(REXML::Namespace#exapnded_name)が
渡されます。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='<'/>
</root>
EOS
a... -
WEBrick
:: HTTPUtils :: FormData # filename=(value) (358.0) -
フォームデータの filename 属性を文字列で表すアクセサです。
フォームデータの filename 属性を文字列で表すアクセサです。
@param value フォームデータの filename 属性を文字列で指定します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].filename #=> "my_file.txt"
end
end
MyCGI.new.start() -
WEBrick
:: HTTPUtils :: FormData # name=(value) (358.0) -
フォームデータの name 属性を文字列で表すアクセサです。
フォームデータの name 属性を文字列で表すアクセサです。
@param value フォームデータの name 属性を文字列で指定します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].name #=> "q"
end
end
MyCGI.new.start() -
cgi
/ session (307.0) -
CGI のセッション管理を行うライブラリ。
CGI のセッション管理を行うライブラリ。
セッションとは、HTTP の一連のリクエストとレスポンスが属するべき
コンテクスト (状況) のことをいいます。
セッション管理には従来通り cgi ライブラリが提供する
クッキーを使用してもいいですが、
この cgi/session を使用した方がよりわかりやすいでしょう。
セッション情報は Hash ライクなインターフェースです。
セッションはセッション ID とプログラムが記録した
セッション情報から構成されます。
デフォルトでは CGI::Session::FileStore が使用され、
記録できるのは文字列のみです。
セッション情報... -
ruby 1
. 8 . 4 feature (307.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]: 追加され... -
ruby 1
. 8 . 3 feature (253.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
Rake
:: TaskArguments # with _ defaults(defaults) -> Hash (217.0) -
パラメータにデフォルト値をセットします。
パラメータにデフォルト値をセットします。
@param defaults デフォルト値として使用するキーと値を格納したハッシュを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments.to_hash ... -
MonitorMixin (181.0)
-
スレッドの同期機構としてのモニター機能を提供するモジュールです。
スレッドの同期機構としてのモニター機能を提供するモジュールです。
クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。
=== 例
//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数
# consumer
Thread.start do
lo... -
Ruby用語集 (163.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based
番号が 0 から始まること。
例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。
: 1 オリジン
: one-based
... -
Array
# pack(template) -> String (145.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (145.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
ENV
. each -> Enumerator (145.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. each _ pair -> Enumerator (145.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
String
# unpack(template) -> Array (145.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大... -
pack テンプレート文字列 (145.0)
-
pack テンプレート文字列
pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。
テンプレート文字列中の空白類は無視されます。
また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな
され無視されます。... -
NEWS for Ruby 2
. 5 . 0 (127.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ms.org/2017/11/08/2.7.2-released.html
* https://blog.rubygems.org/2017/11/03/2.7.1-released.html
* https://blog.rubygems.org/2017/11/01/2.7.0-released.html
* https://blog.rubygems.org/2017/10/09/2.6.14-released.html
* https://blog.rubygems.org/2017/08/27/2.6.13-released.html... -
net
/ http (127.0) -
汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は 2616 に基きます。
汎用データ転送プロトコル HTTP を扱うライブラリです。
実装は 2616 に基きます。
=== 使用例
==== ウェブサーバからドキュメントを得る (GET)
//emlist[例1: GET して 表示するだけ][ruby]{
require 'net/http'
print Net::HTTP.get('www.example.com', '/index.html')
//}
//emlist[例2: URI を使う][ruby]{
require 'net/http'
require 'uri'
print Net::HTTP.get(URI.parse('http://w... -
win32
/ registry (127.0) -
win32/registry は Win32 プラットフォームでレジストリをアクセスするための ライブラリです。Win32 API の呼び出しに Win32API を使います。
win32/registry は Win32 プラットフォームでレジストリをアクセスするための
ライブラリです。Win32 API の呼び出しに Win32API を使います。
//emlist{
require 'win32/registry'
Win32::Registry::HKEY_CURRENT_USER.open('SOFTWARE\foo') do |reg|
value = reg['foo'] # 値の読み込み
value = reg['foo', Win32::Registry::REG_SZ] ... -
JSON
:: Parser . new(source , options => {}) -> JSON :: Parser (109.0) -
パーサを初期化します。
パーサを初期化します。
第二引数のハッシュには以下のキーを指定することができます。
: :max_nesting
データ構造のネストの深さの最大値を指定します。デフォルトは 19 です。
チェックを無効にするにはゼロまたは偽を指定してください。
: :allow_nan
真を指定すると 4627 を無視して NaN, Infinity, -Infinity をパースエラーにしません。
デフォルトは偽です。
: :create_additions
偽を指定するとマッチするクラスや ID があっても付加情報を生成しません。デフォルトは真です。
: :object_clas... -
JSON
:: Parser # parse -> object (91.0) -
現在のソースをパースして結果を Ruby のオブジェクトとして返します。
現在のソースをパースして結果を Ruby のオブジェクトとして返します。
//emlist[例][ruby]{
require 'json'
class Person
attr_accessor :name, :age
def []=(key, value)
instance_variable_set("@#{key}", value)
end
end
parser = JSON::Parser.new(DATA.read, object_class: Person)
person = parser.parse
person.class # => Person
p... -
LocalJumpError
# reason -> Symbol (91.0) -
例外を発生させた原因をシンボルで返します。
例外を発生させた原因をシンボルで返します。
返す値は以下のいずれかです。
* :break
* :redo
* :retry
* :next
* :return
* :noreason
例:
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason ... -
Rake
:: TaskArguments # [](key) -> object (91.0) -
与えられたパラメータ名に対応する値を返します。
与えられたパラメータ名に対応する値を返します。
@param key パラメータの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments["name1"] # => "value1"
arguments["name2"] # => "value2"
end
/... -
Rake
:: TaskArguments # to _ hash -> Hash (91.0) -
パラメータ名と対応する値を格納したハッシュを返します。
パラメータ名と対応する値を格納したハッシュを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments.to_hash # => {:name1=>"value1", :name2=>"value2"}
end
//} -
ruby 1
. 9 feature (91.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ... -
GDBM
. open(dbname , mode = 0666 , flags = 0) -> GDBM (73.0) -
dbname で指定したデータベースをモードを mode に設定してオープンします。
dbname で指定したデータベースをモードを mode に設定してオープンします。
ブロックを指定した場合、オープンした GDBM オブジェクトを
引数にブロックを実行します。実行後 GDBM オブジェクトをクローズ
し、open メソッドはブロックの結果を返します。
@param dbname データベースの名前を指定します。
@param mode 省略値は 0666 です。mode として nil を指定するとデータベースが
存在しない時には新たなデータベースを作らず nil を返します。
@param flags flags には、GDBM::FAS... -
GDBM
. open(dbname , mode = 0666 , flags = 0) {|db| . . . } -> object (73.0) -
dbname で指定したデータベースをモードを mode に設定してオープンします。
dbname で指定したデータベースをモードを mode に設定してオープンします。
ブロックを指定した場合、オープンした GDBM オブジェクトを
引数にブロックを実行します。実行後 GDBM オブジェクトをクローズ
し、open メソッドはブロックの結果を返します。
@param dbname データベースの名前を指定します。
@param mode 省略値は 0666 です。mode として nil を指定するとデータベースが
存在しない時には新たなデータベースを作らず nil を返します。
@param flags flags には、GDBM::FAS... -
NEWS for Ruby 2
. 2 . 0 (73.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 リテラル
* 後ろにコロンのあるシンボルをキーにしたと... -
Psych
:: Parser (73.0) -
YAML のパーサ。
YAML のパーサ。
このクラスは YAML ドキュメントをパースし、コンストラクタに渡された
ハンドラにイベントを通知(呼び出し)します。
このイベントを使って YAML の AST を構築したり YAML ドキュメントを
別のフォーマット変換したりします。
Psych::Emitter を使うとパースしたドキュメントを元通りに出力
することもできます。
Psych::Parser が生成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキュメント に含まれているスカラー値を表示します。
# Handler for detecting s... -
Thread
# [](name) -> object | nil (73.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
name に対応したスレッドに固有のデータを取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。
@param name スレッド固有データのキーを文字列か Symbol で指定します。
//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join... -
net
/ imap (73.0) -
このライブラリは Internet Message Access Protocol (IMAP) の クライアントライブラリです。2060 を元に 実装されています。
このライブラリは Internet Message Access Protocol (IMAP) の
クライアントライブラリです。2060 を元に
実装されています。
=== IMAP の概要
IMAPを利用するには、まずサーバに接続し、
Net::IMAP#authenticate もしくは
Net::IMAP#login で認証します。
IMAP ではメールボックスという概念が重要です。
メールボックスは階層的な名前を持ちます。
各メールボックスはメールを保持することができます。
メールボックスの実装はサーバソフトウェアによって異なります。
Unixシステムでは、ディレクトリ階層上の
... -
Hash
# to _ h -> self | Hash (58.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.class # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを... -
WEBrick
:: HTTPUtils :: FormData # filename -> String | nil (58.0) -
フォームデータの filename 属性を文字列で表すアクセサです。
フォームデータの filename 属性を文字列で表すアクセサです。
@param value フォームデータの filename 属性を文字列で指定します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].filename #=> "my_file.txt"
end
end
MyCGI.new.start() -
WEBrick
:: HTTPUtils :: FormData # name -> String | nil (58.0) -
フォームデータの name 属性を文字列で表すアクセサです。
フォームデータの name 属性を文字列で表すアクセサです。
@param value フォームデータの name 属性を文字列で指定します。
例:
require "webrick/cgi"
class MyCGI < WEBrick::CGI
def do_GET(req, res)
p req.query['q'].name #=> "q"
end
end
MyCGI.new.start() -
Rake
:: TaskArguments # names -> Array (55.0) -
パラメータ名のリストを返します。
パラメータ名のリストを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments.names # => ["name1", "name2"]
end
//} -
Rake
:: TaskArguments # new _ scope(names) -> Rake :: TaskArguments (55.0) -
与えられたパラメータ名のリストを使用して新しい Rake::TaskArguments を作成します。
与えられたパラメータ名のリストを使用して新しい Rake::TaskArguments を作成します。
@param names パラメータ名のリストを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
new_arguments = arguments.new_scope(["nam... -
Thread
# exit -> self (55.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begin
sleep 10
... -
Thread
# kill -> self (55.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begin
sleep 10
... -
Thread
# terminate -> self (55.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begin
sleep 10
... -
Net
:: HTTPExceptions # response -> Net :: HTTPResponse (37.0) -
例外の原因となったレスポンスオブジェクトを返します。
例外の原因となったレスポンスオブジェクトを返します。
//emlist[例][ruby]{
require 'net/http'
uri = "http://www.example.com/invalid.html"
response = Net::HTTP.get_response(URI.parse(uri))
begin
response.value
rescue => e
e.response # => #<Net::HTTPNotFound 404 Not Found readbody=true>
end
//} -
REXML
:: Attributes # each _ attribute {|attribute| . . . } -> () (37.0) -
各属性に対しブロックを呼び出します。
各属性に対しブロックを呼び出します。
個々の属性は REXML::Attribute オブジェクトで渡されます。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='<'/>
</root>
EOS
a = doc.get_elements("/root... -
WIN32OLE
# each {|i| . . . } -> () (37.0) -
オブジェクトの列挙インターフェイスを呼び出してアイテム単位にブロックを 実行します。
オブジェクトの列挙インターフェイスを呼び出してアイテム単位にブロックを
実行します。
OLEオートメーションサーバの中には、コレクション用インターフェイスを持つ
ものがあります。eachメソッドは、このようなオブジェクトの列挙メソッドを
呼び出して、アイテム毎のイテレーションを行います。
@param i コレクション内のアイテム
@raise WIN32OLERuntimeError selfが列挙インターフェイスをサポートしてい
ない場合に通知します。
excel = WIN32OLE.new('Excel.Appli... -
WIN32OLE
_ TYPE # variables -> [WIN32OLE _ VARIABLE] (37.0) -
型が持つ変数を取得します。
型が持つ変数を取得します。
型がEnum(列挙型)やユーザ定義型の場合、メンバ変数の情報を
WIN32OLE_VARIABLEオブジェクトの配列として返します。
@return 型が持つ変数情報をWIN32OLE_VARIABLEの配列として返します。
変数を持たない場合は空配列を返します。
@raise WIN32OLERuntimeError 型属性が取得できない場合に通知します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
vars = to... -
WIN32OLE
_ VARIABLE (37.0) -
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションサーバは、定数(WIN32OLE.const_load)、メソッ
ド/プロパティ(WIN32OLE_METHOD)、イベント(WIN32OLE_EVENT)
のほかに変数をクライアントへ提供できます。WIN32OLE_VARIABLEクラスは、サー
バが提供する変数の情報をオブジェクト化します。変数情報にはCOMで決められ
た構造体やユーザ定義型のフィールド情報などがありますが、最も良く利用さ
れるのはenum(列挙型)のメンバ情報です。enumのメンバは定数として利用で
きます。
WIN32OL... -
rexml
/ document (37.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-...