種類
- インスタンスメソッド (478)
- 特異メソッド (134)
- モジュール関数 (95)
- 変数 (33)
- クラス (9)
ライブラリ
- ビルトイン (749)
クラス
- Array (19)
- Binding (8)
- Dir (85)
- Enumerator (5)
- Exception (22)
- Fiber (3)
- File (11)
-
File
:: Stat (22) - IO (33)
- Method (11)
- Module (11)
- Object (26)
- Random (33)
- Range (46)
-
RubyVM
:: InstructionSequence (22) - String (22)
- Thread (11)
-
Thread
:: Queue (27) -
Thread
:: SizedQueue (27) - Time (21)
- UnboundMethod (11)
モジュール
- Enumerable (136)
- FileTest (44)
- Kernel (84)
キーワード
-
$ -I (11) -
$ : (11) -
$ LOAD _ PATH (11) - <=> (11)
- == (11)
- === (6)
- ConditionVariable (9)
- all? (21)
- any? (29)
- autoload (22)
-
backtrace
_ locations (11) - ceil (5)
-
compile
_ option (11) - cover? (17)
- crypt (11)
- deq (18)
-
each
_ with _ index (22) - empty? (8)
- entries (17)
- fcntl (11)
- fdatasync (11)
- floor (5)
- flush (11)
-
handle
_ interrupt (11) - irb (8)
- load (11)
- new (33)
- none? (21)
- of (11)
- one? (21)
- open (44)
- pack (19)
- path (11)
- pop (18)
- pp (7)
- produce (5)
- rand (33)
- read (11)
-
require
_ relative (11) - round (11)
- setgid? (11)
- setuid? (11)
- shift (18)
- socket? (11)
-
source
_ location (22) - sticky? (11)
- symlink? (11)
- then (12)
-
to
_ a (17) - transfer (3)
- unpack (11)
-
yield
_ self (14)
検索結果
先頭5件
-
Kernel
. # require(feature) -> bool (26143.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
...返します。
@param feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
//emlist[例][ruby]{
$LOADED_FEATURES.grep(/prime/).size # => 0
require "prime" # => true
$LOADED_FEATURES.grep(/prime/).size # => 1
require "prime"......# => false
begin
require "invalid"
rescue LoadError => e
e.message # => "cannot load such file -- invalid"
end
//}
@see Kernel.#load,Kernel.#autoload,Kernel.#require_relative... -
Kernel
. # require _ relative(relative _ feature) -> bool (14183.0) -
現在のファイルからの相対パスで require します。
...からの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature フ......ァイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== require と load のスコープ
ローカル変数はファイル間では共有されません。ですので、
ロードしたライブラリのローカル変数を......扱い方はKernel.#loadでも同様です。
//emlist[例][ruby]{
# ---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
# ---------- end some.rb -------
require 'some'
p $a #=> 1
p @a #=> 1
p A #=> 1
p a # undefined local variable or method `a' for #<Object:0x294f9ec @a=1> (NameError)
//}... -
Thread
:: ConditionVariable (8096.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...。@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。
require 'thread'
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex......= Mutex.new
@q = []
end
def count
@q.size
end
def enq(v)
@mutex.synchronize{
@full.wait(@mutex) if count == @max
@q.push v
@empty.signal if count == 1
}
end
def deq
@mutex.synchronize{
@empty.wait(@mutex) if co......unt == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end
alias send enq
alias recv deq
end
if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []
th = Thread.new {
for obj in... -
Array
# pack(template) -> String (8054.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長けれ......す。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
@param buffer 結果を詰めるバッ......jZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding された文字列
//emlist[][ruby]{
["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"
"a b c\td =\n... -
Array
# pack(template , buffer: String . new) -> String (8054.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長けれ......す。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
@param buffer 結果を詰めるバッ......jZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding された文字列
//emlist[][ruby]{
["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"
"a b c\td =\n... -
Kernel
. # load(file , priv = false) -> true (8054.0) -
Ruby プログラム file をロードして実行します。再ロード可能です。
...返します。
@param file ファイル名の文字列です。
@param priv 真のとき、ロード・実行は内部的に生成される
無名モジュールをトップレベルとして行われ、
グローバルな名前空間を汚染しません。
@raise LoadErro......ドに失敗した場合に発生します。
@see Kernel.#require
=== require と load の違い
Kernel.#require は同じファイルは一度だけしかロードしませんが、
Kernel.#load は無条件にロードします。
また、require は拡張子.rb や .so を自動的に補完... -
String
# unpack(template) -> Array (8054.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...プレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレー......jZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding された文字列
//emlist[][ruby]{
["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"
"a b c\td =\n......inity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}
: d
倍精度浮動小数点数(機種依存)
x86_64 (IEEE754 倍精度 リトルエンディアン):
//emlist[][ruby]{
[1.0].pa......プレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1... -
Kernel
. # autoload(const _ name , feature) -> nil (8052.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
...定数 const_name を最初に参照した時に feature を
Kernel.#require するように設定します。
const_name には、 "::" 演算子を含めることはできません。
ネストした定数を指定する方法は Module#autoload を参照してください。
const_name が aut......はなく)既に定義されているときは何もしません。
@param const_name 定数をString または Symbol で指定します。
@param feature require と同様な方法で autoload する対象を指定します。
@raise LoadError featureのロードに失敗すると発生します......。
//emlist[][ruby]{
# ------- /tmp/foo.rb ---------
class Bar
end
# ----- end of /tmp/foo.rb ----
autoload :Bar, '/tmp/foo'
p Bar #=> Bar
//}
@see Kernel.#autoload?,Module#autoload,Kernel.#require... -
Array
# pack(template) -> String (8048.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるもの......jZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding された文字列
//emlist[][ruby]{
["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"
"a b c\td =\n......inity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}
: d
倍精度浮動小数点数(機種依存)
x86_64 (IEEE754 倍精度 リトルエンディアン):
//emlist[][ruby]{
[1.0].pa... -
Module
# autoload(const _ name , feature) -> nil (8040.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
...定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
const_name が autoload 設定されていて、まだ定義されてない(ロードされていない)ときは、
autoload する対象を置き換えます。
const_name が(autoload......算子を含めることはできません。
つまり、self の直下に定義された定数しか指定できません。
@param feature Kernel.#require と同様な方法で autoload する対象を指定する。
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
class......nstant Bar referenced by Foo::Bar
# Bar
# nil
//}
これは以下のようにネストせずに定義したのと同じことです。
//emlist[例][ruby]{
class Foo
end
class Bar
end
p Foo::Bar
#=> -:5: warning: toplevel constant Bar referenced by Foo::Bar
# Bar
//}
@see Kernel.#autoload......ない場
合、NameError が発生します。
//emlist[例][ruby]{
# ------- /tmp/bar.rb ---------
class Bar
end
# ----- end of /tmp/bar.rb ----
class Foo
autoload :Bar, '/tmp/bar.rb'
end
p Foo::Bar
#=> -:4:in `<main>': uninitialized constant Foo::Bar (NameError)
//}
@see Kernel.#autoload... -
Random
# rand -> Float (8036.0) -
一様な擬似乱数を発生させます。
...to_int で変換した値が指定されたものとして扱います。
@param max 乱数値の上限を正の整数または実数で指定します。
max 自体は乱数値の範囲に含まれません。
@param range 発生させる乱数値の範囲を Range オブジェク......あり、
range.begin + 数値 が適切な値を返す必要があります。
@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@raise ArgumentError 引数の数が0または1では無い時、引数に負の数値を与......2年のすべての(秒単位)時刻から一つ選ばれる
prng.rand(Time.new(2012, 1, 1) ... Time.new(2013,1,1)) # => 2012-02-25 03:11:42 +0900
require 'date'
prng.rand(Date.new(2012, 1, 1) ... Date.new(2013,1,1)) # => #<Date: 2012-01-31 ((2455958j,0s,0n),+0s,2299161j)>
# Kernel.#rand とほぼ...