ライブラリ
- ビルトイン (12)
- benchmark (1)
- csv (11)
- date (1)
- digest (2)
- fiber (1)
- fiddle (3)
- gdbm (2)
-
io
/ console (3) -
irb
/ extend-command (4) -
irb
/ inspector (1) - json (46)
-
json
/ add / bigdecimal (1) -
json
/ add / complex (1) -
json
/ add / date (1) -
json
/ add / date _ time (1) -
json
/ add / exception (1) -
json
/ add / range (1) -
json
/ add / rational (1) -
json
/ add / regexp (1) -
json
/ add / struct (1) -
json
/ add / time (1) - kconv (1)
- matrix (10)
-
net
/ http (2) -
net
/ pop (4) -
net
/ smtp (1) - nkf (1)
- objspace (4)
- open-uri (1)
- openssl (8)
- optparse (3)
- pathname (1)
- pp (2)
- prettyprint (1)
- prime (1)
- pstore (1)
-
ripper
/ sexp (2) -
rubygems
/ requirement (1) - sdbm (2)
- set (4)
- shell (2)
-
shell
/ filter (2) - shellwords (1)
- socket (10)
- stringio (5)
- strscan (2)
- tempfile (2)
- thread (4)
- thwait (2)
- timeout (1)
- tmpdir (2)
- uri (2)
-
webrick
/ log (1) - zlib (7)
クラス
- Addrinfo (2)
- Array (1)
- BigDecimal (1)
- CSV (4)
-
CSV
:: FieldInfo (3) -
CSV
:: Row (3) -
CSV
:: Table (1) - Complex (1)
- Date (1)
- DateTime (2)
-
Digest
:: Base (1) - Dir (4)
- Enumerator (1)
- Exception (1)
- Fiber (1)
-
Fiddle
:: Pointer (1) - GDBM (2)
-
Gem
:: Requirement (1) - IO (3)
-
IRB
:: Inspector (1) -
JSON
:: Parser (2) -
JSON
:: State (16) - Matrix (10)
-
Net
:: HTTP (1) -
Net
:: HTTPGenericRequest (1) -
Net
:: POP3 (1) -
Net
:: POPMail (3) -
Net
:: SMTP (1) - Object (3)
-
OpenSSL
:: ASN1 :: ObjectId (8) - OptionParser (2)
- PP (1)
- PStore (1)
- Pathname (1)
- PrettyPrint (1)
- Prime (1)
- Random (2)
- Range (1)
- Rational (1)
- Regexp (1)
- Ripper (2)
- SDBM (2)
- Set (4)
- Shell (2)
-
Shell
:: Filter (2) - Socket (3)
- String (1)
- StringIO (5)
- StringScanner (2)
- Struct (1)
- Tempfile (2)
- Thread (1)
-
Thread
:: Queue (1) -
Thread
:: SizedQueue (3) - ThreadsWait (2)
- Time (1)
- UNIXServer (2)
- UNIXSocket (3)
-
WEBrick
:: BasicLog (1) -
Zlib
:: Deflate (1) -
Zlib
:: GzipReader (2) -
Zlib
:: GzipWriter (4)
モジュール
- Benchmark (1)
- Enumerable (2)
- Fiddle (2)
-
IRB
:: ContextExtender (2) -
IRB
:: ExtendCommandBundle (2) - JSON (14)
-
JSON
:: Generator :: GeneratorMethods :: Array (1) -
JSON
:: Generator :: GeneratorMethods :: FalseClass (1) -
JSON
:: Generator :: GeneratorMethods :: Float (1) -
JSON
:: Generator :: GeneratorMethods :: Hash (1) -
JSON
:: Generator :: GeneratorMethods :: Integer (1) -
JSON
:: Generator :: GeneratorMethods :: NilClass (1) -
JSON
:: Generator :: GeneratorMethods :: Object (1) -
JSON
:: Generator :: GeneratorMethods :: String (2) -
JSON
:: Generator :: GeneratorMethods :: String :: Extend (1) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (1) - Kconv (1)
- Kernel (5)
- ObjectSpace (4)
-
OptionParser
:: Arguable (1) - Shellwords (1)
- Timeout (1)
- URI (2)
キーワード
- << (1)
- DATA (1)
- Digest (1)
- JSON (1)
- NKF (1)
- Rubyの起動 (1)
- Ruby用語集 (1)
-
SCRIPT
_ LINES _ _ (1) - [] (3)
- adjugate (1)
- all (1)
-
allocation
_ sourcefile (1) -
allocation
_ sourceline (1) -
array
_ nl (1) - bigdecimal (1)
-
bigdecimal
/ jacobian (1) - bind (1)
- bmbm (1)
-
body
_ stream (1) -
check
_ circular? (1) -
cofactor
_ expansion (1) - column (2)
- component (1)
- configure (1)
- conj (1)
- conjugate (1)
-
connect
_ from (1) - convert (2)
- cooked (1)
- create (1)
-
create
_ id (1) -
create
_ id= (1) -
def
_ extend _ command (2) -
def
_ inspector (1) - delete (3)
- deq (1)
- disjoint? (1)
- divide (2)
- dlunwrap (1)
- dlwrap (1)
- dump (1)
- each (1)
- element (1)
- entries (1)
-
fast
_ generate (1) -
fast
_ unparse (1) - fetch (2)
- field (1)
- file (1)
- flush (1)
- format (1)
-
from
_ state (1) - generate (1)
-
handle
_ interrupt (1) - header (1)
- indent (1)
- indent= (1)
- index (1)
-
install
_ extend _ commands (2) - instance (1)
- isjis (1)
- jisx0301 (1)
- jj (1)
- join (3)
-
join
_ nowait (1) -
json
_ create (1) -
laplace
_ expansion (1) - line (1)
- ln (1)
- load (1)
-
long
_ name (1) - mail (1)
-
max
_ nesting (1) -
max
_ nesting= (1) -
memsize
_ of (1) - merge (1)
- mktmpdir (2)
-
net
/ imap (1) - new (6)
- noecho (1)
-
object
_ nl (1) -
object
_ nl= (1) - oid (1)
- open (9)
- pack (1)
- pack テンプレート文字列 (1)
- params (1)
- parse (3)
- parse! (1)
- pop (2)
- pp (1)
-
pretty
_ generate (1) -
pretty
_ print (1) -
pretty
_ unparse (1) - print (1)
- printf (1)
- pushd (1)
- pushdir (1)
- putc (1)
- puts (1)
- rand (2)
- raw (1)
-
rb
_ f _ require (1) -
recv
_ io (1) - register (1)
- reject (2)
- reject! (2)
- restore (1)
-
ruby 1
. 6 feature (1) -
scan
_ full (1) -
search
_ full (1) - sexp (1)
-
sexp
_ raw (1) - shelljoin (1)
- shift (2)
-
short
_ name (1) - sn (1)
- source (1)
- space (1)
- space= (1)
-
space
_ before (1) -
space
_ before= (1) - start (3)
- tcp (1)
- timeout (1)
-
to
_ a (1) -
to
_ json (19) -
to
_ json _ raw _ object (1) -
to
_ value (1) -
trace
_ object _ allocations (1) - transact (1)
- transaction (1)
- transfer (1)
-
unconverted
_ fields? (1) - unix (1)
-
unix
_ server _ socket (1) - unpack (1)
- unparse (1)
-
with
_ index (1) - wrap (2)
- write (1)
- | (1)
検索結果
先頭5件
- IRB
:: ExtendCommandBundle . install _ extend _ commands -> object - IRB
:: Inspector . def _ inspector(key , arg = nil) { |v| . . . } -> object - IRB
:: ContextExtender . install _ extend _ commands -> object - IO
# raw(min: 1 , time: 0 , intr: false) {|io| . . . } -> object - IRB
:: ExtendCommandBundle . def _ extend _ command(cmd _ name , cmd _ class , load _ file = nil , *aliases) -> object
-
IRB
:: ExtendCommandBundle . install _ extend _ commands -> object (78637.0) -
定義済みの拡張を読み込みます。
定義済みの拡張を読み込みます。
irb で以下のメソッドが利用できるようになります。(それぞれ 1 つだけ抜粋)
* irb_current_working_workspace
* irb_change_workspace
* irb_workspaces
* irb_push_workspace
* irb_pop_workspace
* irb_load
* irb_require
* irb_source
* irb
* irb_jobs
* irb_fg
* irb_kill
* irb_help
irb/extend-command が requir... -
IRB
:: Inspector . def _ inspector(key , arg = nil) { |v| . . . } -> object (78637.0) -
新しい実行結果の出力方式を定義します。
新しい実行結果の出力方式を定義します。
@param key conf.inspect_mode や IRB.conf[:INSPECT_MODE] に指定するキー
オブジェクトを指定します。配列を指定した場合は配列中の要素全
てが対象になります。
@param arg ブロックを指定する場合には、inspect_mode の初期化のための手続
きオブジェクトを指定します。あらかじめ require が必要な場合
などに、proc { require "foo" } といった指定を行います。
... -
IRB
:: ContextExtender . install _ extend _ commands -> object (78619.0) -
定義済みの拡張を読み込みます。
定義済みの拡張を読み込みます。
IRB::Context で以下のメソッドが利用できるようになります。
* eval_history=
* use_tracer=
* math_mode=
* use_loader=
* save_history=
irb/extend-command が require された時にライブラリ内部で自動的
に実行されます。
@see IRB::ContextExtender.def_extend_command -
IO
# raw(min: 1 , time: 0 , intr: false) {|io| . . . } -> object (69919.0) -
raw モード、行編集を無効にして指定されたブロックを評価します。
raw モード、行編集を無効にして指定されたブロックを評価します。
ブロック引数には self が渡されます。ブロックを評価した結果を返します。
@param min 入力操作 (read) 時に受信したい最小のバイト数を指定します。min 値以上のバイト数を受信するまで、操作がブロッキングされます。
@param time タイムアウトするまでの秒数を指定します。time よりも min が優先されるため、入力バイト数が min 値以上になるまでは、time 値に関わらず操作がブロッキングされます。
@param intr trueを指定した場合は、割り込み (interrupt)... -
IRB
:: ExtendCommandBundle . def _ extend _ command(cmd _ name , cmd _ class , load _ file = nil , *aliases) -> object (69919.0) -
irb に cmd_name で指定したメソッドが実行できるように拡張します。
irb に cmd_name で指定したメソッドが実行できるように拡張します。
@param cmd_name メソッド名を Symbol か文字列で指定します。
cmd_class で指定するクラスの execute メソッドとして定
義してある必要があります。
@param cmd_class 指定した拡張が定義されたクラス名を Symbol、
String、Class のいずれかで指定します。
なお、このクラスは IRB::ExtendCommand ... -
IO
# cooked {|io| . . . } -> object (69619.0) -
cooked モードを有効にして指定されたブロックを評価します。
cooked モードを有効にして指定されたブロックを評価します。
ブロック引数には self が渡されます。ブロックを評価した結果を返します。
@raise LocalJumpError ブロックを指定しなかった場合に発生します。
以下の例では、標準入力からエコーバック付きで文字列を一行読み込みます。
require "io/console"
STDIN.cooked(&:gets) -
IO
# noecho {|io| . . . } -> object (69619.0) -
文字入力時のエコーバックを無効に設定してブロックを評価します。
文字入力時のエコーバックを無効に設定してブロックを評価します。
ブロック引数には self が渡されます。ブロックを評価した結果を返します。
以下の例では、標準入力からエコーバックなしで文字列を一行読み込みます。
require "io/console"
STDIN.noecho(&:gets)
@raise LocalJumpError ブロックを指定しなかった場合に発生します。 -
IRB
:: ContextExtender . def _ extend _ command(cmd _ name , load _ file , *aliases) -> object (69619.0) -
IRB::Context に cmd_name で指定したメソッドが実行できるように拡張 します。
IRB::Context に cmd_name で指定したメソッドが実行できるように拡張
します。
@param cmd_name メソッド名を Symbol で指定します。
IRB::Context クラスのインスタンスメソッドとして定
義してある必要があります。
@param load_file cmd_name で指定したメソッドが定義されたファイル名を指
定します。このファイルは自動的に require されます。
@param aliases cmd_name の別名を Symb... -
Kconv
. # isjis(str) -> bool (54919.0) -
文字列 str が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
文字列 str が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
@param str 判定対象の文字列
@see String#isjis
//emlist[例][ruby]{
require 'kconv'
euc_str = "\
\xa5\xaa\xa5\xd6\xa5\xb8\xa5\xa7\xa5\xaf\xa5\xc8\xbb\xd8\xb8\xfe\
\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\
\x52\x75\x62\x79".force_... -
Kernel
# j(*objects) -> nil (54640.0) -
与えられたオブジェクトを JSON 形式の文字列で標準出力に一行で出力します。
与えられたオブジェクトを JSON 形式の文字列で標準出力に一行で出力します。
@param objects JSON 形式で出力したいオブジェクトを指定します。
//emlist[例][ruby]{
require "json"
j([1,2,{"name" => "tanaka","age" => 19}])
# => [1,2,{"name":"tanaka","age":19}]
//}
@see Kernel.#p -
ThreadsWait
# join _ nowait(*threads) -> () (45637.0) -
終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。 しかし、実際には終了をまちません。
終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。
しかし、実際には終了をまちません。
@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new
p thall.threads #=> []
thall.join_nowait(*thr... -
ObjectSpace
. # trace _ object _ allocations { . . . } (45619.0) -
与えられたブロック内でオブジェクトのトレースを行います。
与えられたブロック内でオブジェクトのトレースを行います。
//emlist[例][ruby]{
require 'objspace'
class C
include ObjectSpace
def foo
trace_object_allocations do
obj = Object.new
p "#{allocation_sourcefile(obj)}:#{allocation_sourceline(obj)}"
end
end
end
C.new.foo #=> "objtrace.rb:8"
//} -
VALUE rb
_ f _ require(VALUE obj , VALUE fname) (36997.0) -
require の実体。 self == obj として fname を require します。
require の実体。
self == obj として fname を require します。 -
Shellwords
. # shelljoin(array) -> String (36919.0) -
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に
使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド
ライン文字列を生成します。
個々の配列要素に対するエスケープには、Shellwords.#shellescape と
同じ規則が適用されます。
@param array エスケープ対象の文字列を要素とする配列を指定します。
@return エスケープ結果を連結した文字列を返します。
例:
require 'shellwords'
pattern = 'Jan 15'
file = 'file nam... -
ThreadsWait
# join(*threads) -> () (36637.0) -
終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。
終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。
@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new
p thall.threads #=> []
thall.join(*threads)
p thall.threads
... -
URI
. join(uri _ str , *path) -> object (36637.0) -
文字列 uri_str と path ... を URI として連結して得られる URI オブジェクトを返します。
文字列 uri_str と path ... を URI として連結して得られる
URI オブジェクトを返します。
2396 の Section 5.2 の
仕様に従って連結します。
以下と等価です
require 'uri'
URI.parse(uri_str) + path + ...
@param uri_str URI 文字列
@param path 後ろに連結する文字列
@raise URI::InvalidComponentError 各要素が適合しない場合に発生します。
@raise URI::InvalidURIError パースに失敗した場合に発生します... -
DateTime
# jisx0301(n = 0) -> String (36619.0) -
X 0301 書式の文字列を返します。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。
X 0301 書式の文字列を返します。
省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。
@param n 小数点以下の桁数
例:
require 'date'
DateTime.parse('2001-02-03T04:05:06.123456789+07:00').jisx0301(9)
#=> "H13.02.03T04:05:06.123456789+07:00" -
JSON
:: Generator :: GeneratorMethods :: Integer # to _ json(state _ or _ hash = nil) -> String (36619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
10.to_json # => "10"
//} -
JSON
:: Generator :: GeneratorMethods :: NilClass # to _ json(state _ or _ hash = nil) -> String (36619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
"null" という文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
nil.to_json # => "null"
//} -
JSON
:: Generator :: GeneratorMethods :: String # to _ json(state _ or _ hash = nil) -> String (36619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
自身のエンコードは UTF-8 であるべきです。
"\u????" のように UTF-16 ビッグエンディアンでエンコードされた文字列を返すことがあります。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]... -
JSON
:: Generator :: GeneratorMethods :: String :: Extend . json _ create(hash) -> String (36619.0) -
JSON のオブジェクトから Ruby の文字列を生成して返します。
JSON のオブジェクトから Ruby の文字列を生成して返します。
@param hash キーとして "raw" という文字列を持ち、その値として数値の配列を持つハッシュを指定します。
require 'json'
String.json_create({"raw" => [0x41, 0x42, 0x43]}) # => "ABC" -
Pathname
# join(*args) -> Pathname (36619.0) -
与えられたパス名を連結します。
与えられたパス名を連結します。
@param args 連結したいディレクトリ名やファイル名を文字列で与えます。
//emlist[例][ruby]{
require "pathname"
path0 = Pathname("/usr") # Pathname:/usr
path0 = path0.join("bin/ruby") # Pathname:/usr/bin/ruby
# 上記の path0 の処理は下記の path1 と同様のパスになります
path1 = Pathname("/usr") + "bin/ruby" ... -
Set
# disjoint?(set) -> bool (36619.0) -
self と set が互いに素な集合である場合に true を返します。
self と set が互いに素な集合である場合に true を返します。
逆に self と set の共通集合かを確認する場合には Set#intersect? を
使用します。
@param self Set オブジェクトを指定します。
@raise ArgumentError 引数が Set オブジェクトでない場合に発生します。
//emlist[][ruby]{
require 'set'
p Set[1, 2, 3].disjoint? Set[3, 4] # => false
p Set[1, 2, 3].disjoint? Set[4, 5] # => true
//}... -
JSON
:: Generator :: GeneratorMethods :: String # to _ json _ raw _ object -> Hash (36319.0) -
生の文字列を格納したハッシュを生成します。
生の文字列を格納したハッシュを生成します。
このメソッドは UTF-8 の文字列ではなく生の文字列を JSON に変換する場合に使用してください。
require 'json'
"にほんご".encode("euc-jp").to_json_raw_object
# => {"json_class"=>"String", "raw"=>[164, 203, 164, 219, 164, 243, 164, 180]}
"にほんご".encode("euc-jp").to_json # source sequence is illegal/malformed (JSON::... -
OpenSSL
:: ASN1 :: ObjectId # oid -> String (36319.0) -
オブジェクト識別子のドット区切り数値を文字列で返します。
オブジェクト識別子のドット区切り数値を文字列で返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.oid #=> "2.5.29.17"
@raise OpenSSL::ASN1::ASN1Error オブジェクト識別子名が未知である場合に発生します -
bigdecimal
/ jacobian (36037.0) -
ヤコビ行列を計算する機能を提供します。
ヤコビ行列を計算する機能を提供します。
実行例:
require "bigdecimal"
require "bigdecimal/jacobian"
...
dfdx = Jacobian.jacobian(f,fx,x)
引数 f には関数を表すオブジェクトを指定します。以下のメソッドに応答でき
る必要があります。
: f.values(x)
点 x における関数の値を数値の配列で返します。
: f.zero
0.0 を示す値を返します。
: f.one
1.0 を示す値を返します。
: f.two
2.0 を示す値を返します。
... -
Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) {|dir| . . . } -> object (28237.0) -
一時ディレクトリを作成します。
一時ディレクトリを作成します。
作成されたディレクトリのパーミッションは 0700 です。
ブロックが与えられた場合は、ブロックの評価が終わると
作成された一時ディレクトリやその配下にあったファイルを
FileUtils.#remove_entry を用いて削除し、ブロックの値をかえします。
ブロックが与えられなかった場合は、作成した一時ディレクトリのパスを
返します。この場合、このメソッドは作成した一時ディレクトリを削除しません。
@param prefix_suffix nil の場合は、'd' をデフォルトのプレフィクスとして使用します。サフィックスは付きません。
... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (27712.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
例 長い計算のタイムアウト
r... -
Matrix
# conj -> Matrix (27691.0) -
複素共役を取った行列を返します。
複素共役を取った行列を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].conjugate
# => 1-2i -i 0
# 1 2 3
//} -
Matrix
# conjugate -> Matrix (27691.0) -
複素共役を取った行列を返します。
複素共役を取った行列を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].conjugate
# => 1-2i -i 0
# 1 2 3
//} -
Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) -> String (27637.0) -
一時ディレクトリを作成します。
一時ディレクトリを作成します。
作成されたディレクトリのパーミッションは 0700 です。
ブロックが与えられた場合は、ブロックの評価が終わると
作成された一時ディレクトリやその配下にあったファイルを
FileUtils.#remove_entry を用いて削除し、ブロックの値をかえします。
ブロックが与えられなかった場合は、作成した一時ディレクトリのパスを
返します。この場合、このメソッドは作成した一時ディレクトリを削除しません。
@param prefix_suffix nil の場合は、'd' をデフォルトのプレフィクスとして使用します。サフィックスは付きません。
... -
JSON
. create _ id=(identifier) (27637.0) -
json_create メソッドで使用するクラスを決定するために使用する値をセットします。
json_create メソッドで使用するクラスを決定するために使用する値をセットします。
@param identifier 識別子を指定します。
//emlist[例][ruby]{
require "json"
require "json/add/core"
JSON.create_id # => "json_class"
puts (1..5).to_json # => {"json_class":"Range","a":[1,5,false]}
JSON.create_id = "my_json_class" # ... -
JSON
:: State # max _ nesting -> Integer (27637.0) -
生成される JSON 形式の文字列のネストの深さの最大値を返します。
生成される JSON 形式の文字列のネストの深さの最大値を返します。
この値がゼロである場合は、ネストの深さのチェックを行いません。
//emlist[例 ネストの深さチェックを行う][ruby]{
require "json"
json_state = JSON::State.new(max_nesting: 2)
json_state.max_nesting # => 2
JSON.generate([[]], json_state)
JSON.generate([[[]]], json_state) # => JSON::NestingError
//}
... -
Addrinfo
# bind {|sock| . . . } -> object (27619.0) -
自身のアドレスにバインドされたソケットを作成します。
自身のアドレスにバインドされたソケットを作成します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p s.recv(10) #=> "hello"
} -
BigDecimal
# to _ json(*args) -> String (27619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/bigdecimal'
BigDecimal('0.123456789123456789').to_json # => "{\"json_class\":\"BigDecimal\",\"b\":\"36:0.123456789123456789e0\"}"
//... -
DateTime
# to _ json(*args) -> String (27619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
DateTime.now.to_json
# => "{\"json_class\":\"DateTime\",\"y\":2018,\"... -
Exception
# to _ json(*args) -> String (27619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
begin
0/0
rescue => e
e.to_json # => "{\"json_class\":\"ZeroDivis... -
JSON
:: Generator :: GeneratorMethods :: Array # to _ json(state _ or _ hash = nil) -> String (27619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
[1, 2, 3].to_json # => "[1,2,3]"
//} -
JSON
:: Generator :: GeneratorMethods :: FalseClass # to _ json(state _ or _ hash = nil) -> String (27619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
"false" という文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
false.to_json # => "false"
//} -
JSON
:: Generator :: GeneratorMethods :: Float # to _ json(state _ or _ hash = nil) -> String (27619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
(1.0).to_json # => "1.0"
//} -
JSON
:: Generator :: GeneratorMethods :: Hash # to _ json(state _ or _ hash = nil) -> String (27619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
person = { "name" => "tanaka", "age" => 19 }
person.to_json # ... -
JSON
:: Generator :: GeneratorMethods :: Object # to _ json(state _ or _ hash = nil) -> String (27619.0) -
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
このメソッドはあるオブジェクトに to_json メソッドが定義されていない場合に使用する
フォールバックのためのメソッドです。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby... -
JSON
:: Generator :: GeneratorMethods :: TrueClass # to _ json(state _ or _ hash = nil) -> String (27619.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
"true" という文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
true.to_json # => "true"
//} -
JSON
:: State # indent -> String (27619.0) -
インデントに使用する文字列を返します。
インデントに使用する文字列を返します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\":\"value1\",\t\"key2\":\"value2\"}"
//} -
JSON
:: State # indent=(string) (27619.0) -
インデントに使用する文字列をセットします。
インデントに使用する文字列をセットします。
@param string インデントに使用する文字列を指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\":\"value1\",\t\"key2\":\"value2\"}"
json_state.indent = "... -
Matrix
# adjugate -> Matrix (27619.0) -
余因子行列を返します。
余因子行列を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6],[3,9]].adjugate # => Matrix[[9, -6], [-3, 7]]
//}
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方でない場合に発生します。
@see Matrix#cofactor -
ObjectSpace
. # allocation _ sourcefile(object) -> String (27619.0) -
objectの元となったソースファイル名を返します。
objectの元となったソースファイル名を返します。
@param object 元となるソースファイル名を取得したいobjectを指定します。
@return objectの元となるソースファイル名を返します。存在しない場合はnilを返します。
//emlist[例:test.rbというファイルで下記のスクリプトを実行した場合][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "file:#{ObjectSpace::allocation_sourc... -
ObjectSpace
. # allocation _ sourceline(object) -> Integer (27619.0) -
objectの元となったソースファイルの行番号を返します。
objectの元となったソースファイルの行番号を返します。
@param object 元となるソースファイルの行番号を取得したいobjectを指定します。
@return objectの元となるソースファイルの行番号を返します。存在しない場合はnilを返します。
//emlist[例][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "line:#{ObjectSpace::allocation_sourceline(obj)}" # => lin... -
ObjectSpace
. # memsize _ of(obj) -> Integer (27619.0) -
obj が消費するメモリ使用量をバイト単位で返します。
obj が消費するメモリ使用量をバイト単位で返します。
@param obj 任意のオブジェクトを指定します。
戻り値の内容は完全ではない事に注意してください。この内容はあくまでもヒ
ントとして扱う必要があります。特に T_DATA の値は正しくないでしょう。
2.2 以降では RVALUE のサイズを含んだ結果を返します。
本メソッドは C Ruby 以外では動作しません。
//emlist[例][ruby]{
require 'objspace'
ObjectSpace.memsize_of(10) # => 0
ObjectSpace.memsize_o... -
OptionParser
:: Arguable # options {|opt| . . . } -> object | nil (27619.0) -
自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。
自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。
//emlist[][ruby]{
require 'optparse'
o = nil
ARG... -
Rational
# to _ json(*args) -> String (27619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/rational'
Rational(1, 3).to_json # => "{\"json_class\":\"Rational\",\"n\":1,\"d\":3}"
//}
@see JSON::Generator::GeneratorMethods::H... -
StringIO
# print(*obj) -> nil (27619.0) -
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。
引数の扱いは Kernel.#print を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.print("hoge", "bar", "foo")
a.string #=> "hogebarfoo"
//} -
StringIO
# printf(format , *obj) -> nil (27619.0) -
指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。
指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。
@param format 文字列のフォーマットを指定します。Kernel.#format を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.printf("%c%c%c", 97, 98, 99)
a.string ... -
Time
# to _ json(*args) -> String (27619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
Time.now.to_json # => "{\"json_class\":\"Time\",\"s\":1544968675,\"n\... -
JSON
:: State # check _ circular? -> bool (27337.0) -
循環参照のチェックを行う場合は、真を返します。 そうでない場合は偽を返します。
循環参照のチェックを行う場合は、真を返します。
そうでない場合は偽を返します。
//emlist[例 ネストをチェックするケース][ruby]{
require "json"
a = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]... -
Object
:: SCRIPT _ LINES _ _ -> Hash (27337.0) -
ソースファイル別にまとめられたソースコードの各行。
ソースファイル別にまとめられたソースコードの各行。
この定数は、デフォルトでは定義されていません。
この定数がハッシュとして定義された後にソースがコンパイルされると、
そのソースファイル名をキーに、
ソースを行毎に分割した配列を値にしたハッシュ要素が設定されます。
この定数はデバッガ (debug) などで利用されています。
なお、 $SAFE レベルが 0 でなければ有効にはなりません。
また、 Kernel.#eval によるコンパイルは対象にはなりません。
例:
require 'pp'
SCRIPT_LINES__ = {}
require 'Eng... -
OptionParser
# reject(klass) -> () (27337.0) -
OptionParser#accept で登録したクラスとブロックを 自身から削除します。
OptionParser#accept で登録したクラスとブロックを
自身から削除します。
@param klass 自身から削除したいクラスを指定します。
//emlist[例][ruby]{
require "optparse"
require "time"
def parse(option_parser)
option_parser.on("-t", "--time [TIME]", Time) do |time|
p time.class
end
option_parser.parse(ARGV)
end
opts = OptionParser.new
o... -
OptionParser
. reject(klass) -> () (27337.0) -
OptionParser.accept メソッドで登録したブロックを削除します。
OptionParser.accept メソッドで登録したブロックを削除します。
@param klass 削除したいクラスオブジェクトを指定します。
//emlist[例][ruby]{
require "optparse"
require "time"
def parse(option_parser)
option_parser.on("-t", "--time [TIME]", Time) do |time|
p time.class
end
option_parser.parse(ARGV)
end
OptionParser.accept(Time) do... -
JSON
. create _ id -> String (27319.0) -
json_create メソッドで使用するクラスを決定するために使用する値を返します。
json_create メソッドで使用するクラスを決定するために使用する値を返します。
デフォルトは "json_class" です。
//emlist[例][ruby]{
require "json"
class User
attr :id, :name
def initialize(id, name)
@id, @name = id, name
end
def self.json_create(object)
new(object['id'], object["name"])
end
def as_json(*)
{
... -
JSON
:: State # configure(options = {}) -> self (27319.0) -
与えられたハッシュで自身を設定します。
与えられたハッシュで自身を設定します。
オプションで使用するハッシュのキーについては JSON::State.new を参照してください。
@param options このオブジェクトの設定をするためのハッシュを指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\... -
JSON
:: State # max _ nesting=(depth) (27319.0) -
生成される JSON 形式の文字列のネストの深さの最大値をセットします。
生成される JSON 形式の文字列のネストの深さの最大値をセットします。
この値にゼロをセットすると、ネストの深さのチェックを行いません。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(max_nesting: 2)
json_state.max_nesting # => 2
JSON.generate([[]], json_state)
json_state.max_nesting = 3
json_state.max_nesting # => 3
JSON.g... -
Object
# pretty _ print(pp) -> () (27319.0) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのとき pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。
@param pp PP オブジェクトです。
//emlist[][ruby]{
require 'pp'
... -
OpenSSL
:: ASN1 :: ObjectId . register(oid , short _ name , long _ name) -> true (27319.0) -
オブジェクト識別子に対応する名前(short name と long name)を OpenSSLの内部テーブルに登録します。
オブジェクト識別子に対応する名前(short name と long name)を
OpenSSLの内部テーブルに登録します。
登録した名前は OpenSSL::X509::Extension などで利用できるようになります。
例:
require "openssl"
OpenSSL::ASN1::ObjectId.register(
"2.5.29.9", "subjectDirAttrs", "X509v3 Subject Directory Attributes")
p OpenSSL::ASN1::ObjectId.new("2.5.29.9").long_n... -
UNIXSocket
# recv _ io(klass=IO , mode=nil) -> Integer|IO|object (19219.0) -
ソケットの接続先からファイルディスクリプタを受け取ります。
ソケットの接続先からファイルディスクリプタを受け取ります。
klass が nil の場合、ファイルディスクリプタが Integer として
返されます。
klass が nil でない場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.identical?(io, STDOUT) #=> true
@param klass 受け取ったファイルデ... -
Matrix
# cofactor _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (18919.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
Matrix
# laplace _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (18919.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
CSV
:: FieldInfo # index -> Integer (18691.0) -
行内で何番目のフィールドかわかるゼロベースのインデックスを返します。
行内で何番目のフィールドかわかるゼロベースのインデックスを返します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
p field_info.index
Date.parse(field)
end
p csv.first
# => 0
# => 1
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s... -
CSV
:: FieldInfo # line -> Integer (18691.0) -
行番号を返します。
行番号を返します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("date1,date2,date3\n2018-07-09,2018-07-10\n2018-08-09,2018-08-10", headers: true)
csv.convert do |field,field_info|
p field_info.line
Date.parse(field)
end
p csv.to_a
# => 2
# => 2
# => 3
# => 3
# => [#<CSV::Row "date1":#<Date: 2018-07... -
Enumerator
# with _ index(offset = 0) {|(*args) , idx| . . . } -> object (18655.0) -
生成時のパラメータに従って、要素にインデックスを添えて繰り返します。 インデックスは offset から始まります。
生成時のパラメータに従って、要素にインデックスを添えて繰り返します。
インデックスは offset から始まります。
ブロックを指定した場合の戻り値は生成時に指定したレシーバ自身です。
//emlist[例][ruby]{
str = "xyz"
enum = Enumerator.new {|y| str.each_byte {|b| y << b }}
enum.with_index {|byte, idx| p [byte, idx] }
# => [120, 0]
# [121, 1]
# [122, 2]
require "stringi... -
Set
# divide {|o1 , o2| . . . } -> Set (18643.0) -
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
ブロックパラメータが 1 個の場合、block.call(o1) == block.call(o2) が真
ならば、o1 と o2 は同じ分割に属します。
ブロックパラメータが 2 個の場合、block.call(o1, o2) が真ならば、
o1 と o2 は同じ分割に属します。
この場合、block.call(o1, o2) == block.call(o2, o1)
が成立しないブロックを与えると期待通りの結果が得られません。
//emlist[例1][ruby]{
require 'set'
numbe... -
Set
# divide {|o| . . . } -> Set (18643.0) -
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
ブロックパラメータが 1 個の場合、block.call(o1) == block.call(o2) が真
ならば、o1 と o2 は同じ分割に属します。
ブロックパラメータが 2 個の場合、block.call(o1, o2) が真ならば、
o1 と o2 は同じ分割に属します。
この場合、block.call(o1, o2) == block.call(o2, o1)
が成立しないブロックを与えると期待通りの結果が得られません。
//emlist[例1][ruby]{
require 'set'
numbe... -
Complex
# to _ json(*args) -> String (18637.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/complex'
Complex(2, 3).to_json # => "{\"json_class\":\"Complex\",\"r\":2,\"i\":3}"
//}
@see JSON::Generator::GeneratorMethods::Hash... -
Kernel
# Digest(name) -> object (18637.0) -
"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、 対応するダイジェストのクラスを取得します。
"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、
対応するダイジェストのクラスを取得します。
このメソッドはスレッドセーフです。マルチスレッド環境で
Digest::MD5などを直接呼び出すと問題があるときはこのメソッドを使
うか、起動時に使用するライブラリを Kernel.#require してください。
@param name "MD5"や"SHA1"などのダイジェストを示す文字列を指定します。
@return Digest::MD5やDigest::SHA1などの対応するダイジェストのクラスを返します。インスタンスではなく、クラスを返します。注意してくだ... -
Net
:: POPMail # mail(io) -> object (18637.0) -
メールを受信します。
メールを受信します。
引数もブロックも与えられなかった場合にはメール
の内容を文字列で返します。
ブロックが渡されたときは、メールの内容を
少しずつ読み込み、読みこんだ文字列を
引数としてブロックを呼びだします。
ブロックなしで、オブジェクトを
引数として渡すとそのオブジェクトに
メールの内容を << メソッドで順次書き込みます。
通常 IO オブジェクトを渡します。
この場合引数として渡したオブジェクトを返します。
pop, all, mail はすべて同じ効果ですが、
all と mail は obsolete です。
使用例:
require 'net/pop'
... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (18637.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
CSV
. instance(data = $ stdout , options = Hash . new) {|csv| . . . } -> object (18619.0) -
このメソッドは CSV.new のように CSV のインスタンスを返します。 しかし、返される値は Object#object_id と与えられたオプションを キーとしてキャッシュされます。
このメソッドは CSV.new のように CSV のインスタンスを返します。
しかし、返される値は Object#object_id と与えられたオプションを
キーとしてキャッシュされます。
ブロックが与えられた場合、生成されたインスタンスをブロックに渡して評価した
結果を返します。
@param data String か IO のインスタンスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require "csv"
options = { headers: true }
text... -
Date
# to _ json(*args) -> String (18619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
Date.today.to_json
# => "{\"json_class\":\"Date\",\"y\":2018,\"m\":12... -
Digest
:: Base . file(path) -> object (18619.0) -
新しいダイジェストオブジェクトを生成し、 ファイル名 file で指定したファイルの内容を読み込み、 そのダイジェストオブジェクトを返します。
新しいダイジェストオブジェクトを生成し、
ファイル名 file で指定したファイルの内容を読み込み、
そのダイジェストオブジェクトを返します。
@param path 読み込み対象のファイル名です。
@return ダイジェストオブジェクトを返します。
使用例(SHA256の場合)
require 'digest'
digest = Digest::SHA256.file("X11R6.8.2-src.tar.bz2")
digest.hexdigest
# => "f02e3c85572dc9ad7cb77c2a638e... -
Enumerable
# entries(*args) -> [object] (18619.0) -
全ての要素を含む配列を返します。
全ての要素を含む配列を返します。
@param args each の呼び出し時に引数として渡されます。
//emlist[例][ruby]{
(1..7).to_a #=> [1, 2, 3, 4, 5, 6, 7]
{ 'a'=>1, 'b'=>2, 'c'=>3 }.to_a #=> [["a", 1], ["b", 2], ["c", 3]]
require 'prime'
Prime.entries 10 #=> [2, 3, 5, 7]
//} -
JSON
:: State # object _ nl -> String (18619.0) -
JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列を返します。
JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列を返します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(object_nl: "")
json_state.object_nl # => ""
puts JSON.generate([1, 2, { name: "tanaka", age: 19 }], json_state)
# => [1,2,{"name":"tanaka","age":19}]
json_state = JSON:... -
JSON
:: State # object _ nl=(string) (18619.0) -
JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列をセットします。
JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列をセットします。
@param string JSON 形式の文字列中に現れる JavaScript のオブジェクトの行末に挿入する文字列を指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(object_nl: "")
json_state.object_nl # => ""
puts JSON.generate([1, 2, { name: "tanaka", age: 19 }]... -
Kernel
# JSON(object , options = {}) -> object (18619.0) -
第一引数に与えられたオブジェクトの種類によって Ruby のオブジェクトか JSON 形式の文字列を返します。
第一引数に与えられたオブジェクトの種類によって Ruby のオブジェクトか JSON 形式の文字列を返します。
第一引数に文字列のようなオブジェクトを指定した場合は、それを JSON.#parse を用いてパースした結果を返します。
そうでないオブジェクトを指定した場合は、それを JSON.#generate を用いて変換した結果を返します。
@param object 任意のオブジェクトを指定します。
@param options JSON.#parse, JSON.#generate に渡すオプションを指定します。
//emlist[例][ruby]{
require "json... -
Kernel
# jj(*objects) -> nil (18619.0) -
与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。
与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。
@param objects JSON 形式で出力したいオブジェクトを指定します。
//emlist[例][ruby]{
require "json"
jj([1,2,{"name" => "tanaka","age" => 19}])
# => [
# 1,
# 2,
# {
# "name": "tanaka",
# "age": 19
# }
# ]
//}
@see Kernel.#pp -
OpenSSL
:: ASN1 :: ObjectId . new(value) -> OpenSSL :: ASN1 :: ObjectId (18619.0) -
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の オブジェクトを生成します。
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の
オブジェクトを生成します。
value としては、ドット区切り数字表記、short name、long name の文字列の
をいずれかを渡します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::OBJECT となります。
例:
require "openssl"
include OpenSSL
p ASN1::ObjectId.new("1.2.840.10040.4.3").long_name # => "d... -
OpenSSL
:: ASN1 :: ObjectId . new(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: ObjectId (18619.0) -
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の オブジェクトを生成します。
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId の
オブジェクトを生成します。
value としては、ドット区切り数字表記、short name、long name の文字列の
をいずれかを渡します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、
タグ は OpenSSL::ASN1::OBJECT となります。
例:
require "openssl"
include OpenSSL
p ASN1::ObjectId.new("1.2.840.10040.4.3").long_name # => "d... -
PStore
# transaction(read _ only = false) {|pstore| . . . } -> object (18619.0) -
トランザクションに入ります。 このブロックの中でのみデータベースの読み書きができます。
トランザクションに入ります。
このブロックの中でのみデータベースの読み書きができます。
読み込み専用のトランザクションが使用可能です。
@param read_only 真を指定すると、読み込み専用のトランザクションになります。
@return ブロックで最後に評価した値を返します。
@raise PStore::Error read_only を真にしたときに、データベースを変更しようした場合に発生します。
例:
require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
p db.roots... -
Range
# to _ json(*args) -> String (18619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
(1..5).to_json # => "{\"json_class\":\"Range\",\"a\":[1,5,false]}"
//... -
Regexp
# to _ json(*args) -> String (18619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数には何の意味もありません。
//emlist[例][ruby]{
require "json/add/core"
/0\d{1,4}-\d{1,4}-\d{4}/.to_json # => "{\"json_class\":\"Regexp\",\"o\":0,\"s\":\"0\\\\d{1,4}-\\\\d{1,4}-\\\\d{4}\"}"... -
Set
# reject! {|o| . . . } -> self | nil (18619.0) -
集合の各要素に対してブロックを実行し、その結果が真であるようなすべての 要素を削除します。
集合の各要素に対してブロックを実行し、その結果が真であるようなすべての
要素を削除します。
delete_if は常に self を返します。
reject! は、要素が 1 つ以上削除されれば self を、1 つも削除されなければ
nil を返します。
//emlist[][ruby]{
require 'set'
s1 = Set['hello.rb', 'test.rb', 'hello.rb.bak']
s1.delete_if {|str| str =~ /\.bak\z/}
p s1 # => #<Set: {"hello.rb", "test.rb"}>
s2 = S... -
Socket
. unix(path) {|sock| . . . } -> object (18619.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix _ server _ socket(path) {|sock| . . . } -> object (18619.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
StringIO
# write(obj) -> Integer (18619.0) -
自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。 書き込まれた文字列の長さを返します。
自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。
書き込まれた文字列の長さを返します。
全ての出力メソッドは、最終的に「write」という名のメソッドを呼び出すので、
このメソッドを置き換えることで出力関数の挙動を変更することができます。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み可能でない時に発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge", 'r+')
a.write("aaa") ... -
Struct
# to _ json(*args) -> String (18619.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
Person = Struct.new(:name, :age)
Person.new("tanaka", 29).to_json # =... -
Thread
. handle _ interrupt(hash) { . . . } -> object (18619.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意味します。
@param hash 例外クラスがキー、割り込みのタイミングを指定する
Symbol が値の Hash を指定します。
値の内容は以下のいずれかです。
: :immediate
すぐに割り込みます。
: :on_block... -
bigdecimal (18451.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456789e6
//}
一般的な 10 進数の計算でも有用です。2 進数の浮動小数点演算には微小な誤
差があるのに対し、BigDecimal では正確な値を得る事がで... -
CSV
# unconverted _ fields? -> bool (18391.0) -
パースした結果が unconverted_fields というメソッドを持つ場合に真を返します。 そうでない場合は、偽を返します。
パースした結果が unconverted_fields というメソッドを持つ場合に真を返します。
そうでない場合は、偽を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv.unconverted_fields? # => nil
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", unconverted_fields: false)
csv.unconverted_fields? # => fals... -
JSON
:: State # merge(options = {}) -> self (18319.0) -
与えられたハッシュで自身を設定します。
与えられたハッシュで自身を設定します。
オプションで使用するハッシュのキーについては JSON::State.new を参照してください。
@param options このオブジェクトの設定をするためのハッシュを指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\... -
OpenSSL
:: ASN1 :: ObjectId # ln -> String | nil (18319.0) -
オブジェクト識別子に対応する long name を返します。
オブジェクト識別子に対応する long name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.ln #=> "X509v3 Subject Alternative Name"
@see OpenSSL::ASN1::ObjectId#sn -
OpenSSL
:: ASN1 :: ObjectId # long _ name -> String | nil (18319.0) -
オブジェクト識別子に対応する long name を返します。
オブジェクト識別子に対応する long name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.ln #=> "X509v3 Subject Alternative Name"
@see OpenSSL::ASN1::ObjectId#sn -
OpenSSL
:: ASN1 :: ObjectId # short _ name -> String | nil (18319.0) -
オブジェクト識別子に対応する short name を返します。
オブジェクト識別子に対応する short name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.sn #=> "subjectAltName"
@see OpenSSL::ASN1::ObjectId#ln