ライブラリ
- ビルトイン (54)
- abbrev (1)
- bigdecimal (14)
-
bigdecimal
/ util (4) - csv (72)
- date (5)
- digest (7)
- erb (8)
- etc (1)
- fiddle (1)
-
fiddle
/ import (3) -
irb
/ cmd / load (1) - json (33)
-
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)
- logger (27)
- matrix (88)
- mkmf (1)
- monitor (6)
-
net
/ http (52) - open-uri (8)
- openssl (22)
- optparse (55)
- ostruct (2)
- pathname (48)
- prime (13)
- rake (3)
-
rake
/ packagetask (15) - resolv (1)
-
rexml
/ document (66) -
rexml
/ streamlistener (1) - rubygems (1)
-
rubygems
/ custom _ require (1) -
rubygems
/ requirement (11) -
rubygems
/ specification (7) - socket (9)
- stringio (25)
- strscan (43)
- tsort (8)
- uri (3)
- win32ole (1)
- zlib (2)
クラス
- Addrinfo (5)
- Array (6)
- BasicSocket (3)
- BigDecimal (15)
- CSV (25)
-
CSV
:: FieldInfo (3) -
CSV
:: Row (14) -
CSV
:: Table (28) - Class (1)
- Complex (1)
- Date (6)
- DateTime (1)
-
Digest
:: Base (7) - Dir (1)
- ERB (8)
- Enumerator (2)
- Exception (3)
- Fiber (1)
-
Fiddle
:: Pointer (1) -
File
:: Stat (3) - Float (2)
-
Gem
:: Requirement (11) -
Gem
:: Specification (7) - IO (3)
-
IRB
:: ExtendCommand :: Require (1) - Integer (3)
-
JSON
:: Parser (2) -
JSON
:: State (18) - Logger (26)
-
Logger
:: Formatter (1) - Matrix (61)
-
Matrix
:: LUPDecomposition (1) - Method (1)
- Module (1)
- Monitor (5)
-
Net
:: HTTP (3) -
Net
:: HTTPGenericRequest (8) -
Net
:: HTTPResponse (9) - NilClass (1)
- Object (4)
-
OpenSSL
:: BN (21) - OpenStruct (2)
- OptionParser (48)
- Pathname (48)
- Prime (4)
-
Prime
:: EratosthenesGenerator (3) -
Prime
:: PseudoPrimeGenerator (4) -
REXML
:: Attribute (3) -
REXML
:: Attributes (13) -
REXML
:: CData (2) -
REXML
:: Child (2) -
REXML
:: DocType (6) -
REXML
:: Document (3) -
REXML
:: Element (23) -
REXML
:: Elements (9) -
REXML
:: Instruction (2) -
REXML
:: Text (3) -
Rake
:: Application (1) -
Rake
:: DefaultLoader (1) -
Rake
:: PackageTask (15) - Random (3)
- Range (3)
- Rational (2)
- Regexp (1)
-
Resolv
:: DNS :: Name (1) -
RubyVM
:: InstructionSequence (2) - Socket (1)
- String (4)
- StringIO (25)
- StringScanner (43)
- Struct (1)
-
Thread
:: Queue (4) -
Thread
:: SizedQueue (3) - Time (4)
-
URI
:: MailTo (3) - UnboundMethod (1)
- Vector (26)
-
WIN32OLE
_ TYPE (1) -
Zlib
:: GzipWriter (2)
モジュール
- Enumerable (13)
-
Fiddle
:: Importer (3) -
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 (1) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (1) - Kernel (6)
- MonitorMixin (1)
-
Net
:: HTTPExceptions (1) -
Net
:: HTTPHeader (31) -
OpenURI
:: Meta (8) -
OptionParser
:: Arguable (7) -
REXML
:: StreamListener (1) -
Rake
:: TaskManager (1) - TSort (8)
キーワード
- * (2)
- + (1)
-
/ (1) - << (5)
- <=> (4)
- == (7)
- === (3)
- =~ (1)
- >> (2)
- JSON (1)
- [] (9)
- []= (8)
-
_ dump (1) - abbrev (1)
- absolute? (1)
- accept (1)
- add (3)
-
add
_ attribute (2) -
add
_ attributes (1) -
add
_ dependency (1) -
add
_ development _ dependency (1) -
add
_ element (1) -
add
_ loader (1) -
add
_ namespace (2) -
add
_ runtime _ dependency (1) - adjugate (1)
- all? (3)
-
allow
_ nan? (1) -
angle
_ with (1) - antisymmetric? (1)
- any? (2)
-
array
_ nl (1) -
array
_ nl= (1) -
as
_ list (1) - ascend (2)
- atime (1)
- attribute (1)
-
attribute
_ of (1) -
attributes
_ of (1) - autoload (1)
-
backtrace
_ locations (1) -
base
_ uri (1) - basename (1)
-
basic
_ auth (1) -
beginning
_ of _ line? (1) - bind (1)
- binread (1)
-
bit
_ set? (1) - body (2)
- body= (1)
-
body
_ stream (1) -
body
_ stream= (1) - bol? (1)
-
by
_ col (1) -
by
_ col! (1) -
by
_ col _ or _ row (1) -
by
_ col _ or _ row! (1) -
by
_ row (1) -
by
_ row! (1) - canonname (1)
- ceil (2)
- charpos (1)
- charset (2)
- check (1)
-
check
_ circular? (1) -
check
_ until (1) - children (1)
- chown (1)
- chunked? (1)
- cleanpath (1)
- clear (1)
-
clear
_ bit! (1) - close (2)
- closed? (1)
- cmp (1)
- code (1)
- coerce (3)
-
cofactor
_ expansion (1) -
col
_ sep (1) - collect (4)
- collect! (4)
- collect2 (2)
- column (2)
-
column
_ vectors (1) - component (1)
- concat (2)
- configure (1)
- conj (1)
- conjugate (1)
- connect (1)
-
connect
_ from (2) - content (1)
-
content
_ encoding (1) -
content
_ length (1) -
content
_ length= (1) -
content
_ range (1) -
content
_ type (2) -
content
_ type= (1) - convert (3)
- converters (1)
- covector (1)
-
create
_ makefile (1) - crypt (1)
- ctime (1)
-
datetime
_ format (1) -
datetime
_ format= (2) - deconstruct (1)
-
deconstruct
_ keys (1) -
def
_ class (1) -
def
_ method (1) -
def
_ module (1) -
default
_ argv (1) -
default
_ argv= (1) -
default
_ event _ sources (1) - delete (6)
-
delete
_ all (2) -
delete
_ attribute (1) -
delete
_ element (1) -
delete
_ if (3) -
delete
_ namespace (1) - deq (2)
- descend (2)
- det (1)
- determinant (1)
- digest (1)
- digest! (1)
- dirname (1)
-
do
_ not _ reverse _ lookup (1) - each (11)
-
each
_ attribute (1) -
each
_ byte (2) -
each
_ capitalized _ name (1) -
each
_ child (2) -
each
_ element _ with _ attribute (1) -
each
_ element _ with _ text (1) -
each
_ entry (2) -
each
_ filename (1) -
each
_ header (1) -
each
_ key (1) -
each
_ line (4) -
each
_ name (1) -
each
_ strongly _ connected _ component (2) -
each
_ strongly _ connected _ component _ from (2) -
each
_ value (1) -
each
_ with _ index (6) - eigen (1)
- eigensystem (1)
- element (1)
-
elements
_ to _ f (1) -
elements
_ to _ i (1) -
elements
_ to _ r (1) - empty? (3)
- encoding (1)
- enter (1)
- entity (1)
- entitydecl (1)
- entries (3)
-
entrywise
_ product (1) - environment (1)
- eos? (1)
- eql? (2)
- error (2)
- exact? (1)
- execute (1)
- exist? (1)
- exit (1)
-
external
_ id (1) -
family
_ addrinfo (2) - fatal (2)
- fatal? (1)
- fcntl (1)
- fdatasync (1)
- fetch (3)
- field (1)
- field? (1)
-
field
_ size _ limit (1) - filename (1)
- filename= (1)
-
find
_ index (3) - finish (1)
-
first
_ lineno (1) - floor (2)
- fnmatch (1)
-
force
_ quotes? (1) -
form
_ data= (1) - formatter (1)
- formatter= (1)
- gem (1)
-
get
_ attribute (1) -
get
_ attribute _ ns (1) -
get
_ byte (1) -
get
_ fields (1) -
get
_ text (1) - getbyte (2)
- getc (1)
- getch (1)
- getopts (1)
- gets (2)
- glob (2)
-
hadamard
_ product (1) -
has
_ elements? (1) - head (1)
- header (1)
-
header
_ convert (3) -
header
_ converters (1) - headers (3)
- help (1)
- hexdigest (1)
- hexdigest! (1)
- hstack (1)
-
http
_ version (1) - imag (1)
- imaginary (1)
- indent (1)
- indent= (1)
- index (5)
- info (2)
- inspect (6)
-
int
_ from _ prime _ division (1) - inv (1)
- inverse (1)
- iseuc (1)
- j (1)
- jj (1)
- join (1)
-
json
_ creatable? (1) - key? (1)
-
laplace
_ expansion (1) -
last
_ modified (1) - length (2)
- level (1)
- line (1)
- lineno (1)
- load (2)
-
local
_ address (1) -
local
_ host= (1) -
local
_ port= (1) - log (2)
- lshift! (1)
- lup (1)
-
lup
_ decomposition (1) - magnitude (1)
-
main
_ type (1) - map (4)
- map! (4)
- map2 (1)
-
mask
_ bits! (1) - match? (1)
- matched (1)
- matched? (1)
-
matched
_ size (1) -
max
_ nesting (1) -
max
_ nesting= (1) - merge (1)
- method (2)
- minor (2)
-
mod
_ add (1) -
mod
_ exp (1) -
mod
_ mul (1) -
mod
_ sub (1) - mode (1)
-
mon
_ enter (2) -
mon
_ exit (1) - mountpoint? (1)
- msg (1)
- name (1)
- name= (1)
- namespace (2)
- namespaces (2)
-
need
_ tar (1) -
need
_ tar= (1) -
need
_ tar _ bz2 (1) -
need
_ tar _ bz2= (1) -
need
_ tar _ gz (1) -
need
_ tar _ gz= (1) -
need
_ zip (1) -
need
_ zip= (1) - negative? (1)
- next (1)
-
next
_ element (1) -
next
_ sibling= (1) -
next
_ year (1) - none? (2)
- norm (1)
- normalize (1)
-
num
_ bits (1) -
num
_ bytes (1) -
num
_ waiting (1) -
object
_ nl (1) -
object
_ nl= (1) - on (12)
-
on
_ head (1) -
on
_ tail (1) - one? (3)
- order (4)
- order! (4)
- pack (2)
-
package
_ dir (1) -
package
_ dir= (1) -
package
_ dir _ path (1) -
package
_ files (1) -
package
_ files= (1) - parent (1)
- parse (3)
- parse! (2)
-
parse
_ csv (1) - path (1)
- pathconf (1)
- peek (1)
- peep (1)
- permute (2)
- permute! (2)
- pointer (1)
- pointer= (1)
- pop (2)
- pos (1)
- pos= (2)
-
post
_ match (1) -
pre
_ match (1) - prefix (1)
- prefixes (2)
- prerelease? (1)
-
pretty
_ print (2) -
prev
_ year (1) -
previous
_ sibling= (1) - prime? (1)
-
prime
_ division (2) -
prime
_ fasttest? (1) - print (2)
- printf (1)
- progname (1)
- progname= (1)
-
program
_ name (1) -
program
_ name= (1) -
proxy
_ basic _ auth (1) - public (1)
- push (1)
- puts (2)
-
quote
_ char (1) - r (1)
- rand (3)
- range (1)
-
range
_ length (1) - rank (1)
- read (2)
-
read
_ body (2) - readbyte (1)
- readchar (1)
- readline (2)
- readlines (2)
- real (1)
- real? (1)
- realdirpath (1)
- realpath (2)
- regular? (1)
- reject (1)
- relative? (1)
-
relative
_ path _ from (1) - release (1)
-
remote
_ address (1) - reopen (2)
-
request
_ body _ permitted? (1) -
required
_ ruby _ version (1) -
required
_ ruby _ version= (1) -
required
_ rubygems _ version (1) -
required
_ rubygems _ version= (1) - reset (1)
- response (1)
-
response
_ body _ permitted? (1) - rest (1)
- rest? (1)
-
rest
_ size (1) - restsize (1)
- result (1)
-
return
_ headers? (1) - rewind (1)
- root (1)
- root? (1)
-
root
_ node (1) - round (2)
- row (2)
-
row
_ sep (1) -
row
_ vectors (1) - rshift! (1)
- run (1)
- sample (2)
-
satisfied
_ by? (1) - scan (1)
-
scan
_ full (1) -
scan
_ until (1) -
search
_ full (1) - separator (1)
-
set
_ bit! (1) -
set
_ content _ type (1) -
set
_ form _ data (1) -
sev
_ threshold (1) -
sev
_ threshold= (1) - shift (3)
- size (3)
- size? (1)
-
skew
_ symmetric? (1) - skip (1)
-
skip
_ until (1) - solve (1)
- source (1)
-
source
_ location (2) - space (1)
- space= (1)
-
space
_ before (1) -
space
_ before= (1) - specific? (1)
- split (2)
- src (1)
-
stand
_ alone? (1) - status (1)
- string (2)
- string= (1)
-
strongly
_ connected _ components (1) - struct (1)
- sub (2)
-
sub
_ ext (1) -
sub
_ type (1) -
subdomain
_ of? (1) - succ (1)
- summarize (2)
-
summary
_ indent (1) -
summary
_ indent= (1) -
summary
_ width (1) -
summary
_ width= (1) - symlink? (1)
- system (1)
- target (1)
- tasks (1)
- terminate (1)
- text (1)
- text= (1)
- then (2)
-
to
_ a (9) -
to
_ bn (1) -
to
_ csv (3) -
to
_ d (4) -
to
_ h (3) -
to
_ hash (2) -
to
_ json (19) -
to
_ mailtext (1) -
to
_ rfc822text (1) -
to
_ s (13) -
to
_ string (1) -
to
_ value (1) - tr (1)
- trace (1)
- transfer (1)
- truncate (3)
- tsort (1)
-
tsort
_ each (2) -
type
_ params (1) - ucmp (1)
-
unconverted
_ fields? (1) - ungetc (1)
- union (1)
- unknown (2)
- unlink (1)
- unpack (1)
- unscan (1)
- value (3)
- value= (1)
-
values
_ at (1) - ver (1)
- version (1)
- vstack (1)
-
wait
_ for _ cond (1) - warn (2)
-
with
_ index (4) - write (2)
-
write
_ headers? (1) - xpath (1)
-
yield
_ self (2)
検索結果
先頭5件
-
Net
:: HTTPHeader # fetch(key) {|hash| . . . . } -> String (18466.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # fetch(key , default) -> String (18466.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # form _ data=(params) (18430.0) -
HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。
HTMLのフォームのデータ params から
ヘッダフィールドとボディを設定します。
ヘッダフィールド Content-Type: には
'application/x-www-form-urlencoded' が設定されます。
@param params HTML のフォームデータの Hash を与えます。
@param sep データのセパレータを文字列で与えます。
//emlist[例 form_data][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Ne... -
Net
:: HTTPHeader # set _ form _ data(params , sep = & # 39;&& # 39;) -> () (18430.0) -
HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。
HTMLのフォームのデータ params から
ヘッダフィールドとボディを設定します。
ヘッダフィールド Content-Type: には
'application/x-www-form-urlencoded' が設定されます。
@param params HTML のフォームデータの Hash を与えます。
@param sep データのセパレータを文字列で与えます。
//emlist[例 form_data][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Ne... -
Module
# autoload(const _ name , feature) -> nil (18424.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
const_name が autoload 設定されていて、まだ定義されてない(ロードされていない)ときは、
autoload する対象を置き換えます。
const_name が(autoloadではなく)既に定義されているときは何もしません。
@param const_name String または Symbol で指定します。
なお、const_name には、"::" 演算子を含めることはできません。
つまり、self の直下に定... -
CSV
:: Row # delete(header _ or _ index , minimum _ index = 0) -> [object , object] | nil (18412.0) -
ヘッダの名前かインデックスで行からフィールドを削除するために使用します。
ヘッダの名前かインデックスで行からフィールドを削除するために使用します。
@param header_or_index ヘッダの名前かインデックスを指定します。
@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
@return 削除したヘッダとフィールドの組を返します。削除対象が見つからなかった場合は nil を返します。
//emlist[例 ヘッダの名前で指定][ruby]{
require "csv"
row = CSV::Row.new(["hea... -
JSON
:: State # indent -> String (18412.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) (18412.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 = "... -
OptionParser
# default _ argv=(argv) (18412.0) -
自身がデフォルトでパースする引数を文字列の配列で指定します。
自身がデフォルトでパースする引数を文字列の配列で指定します。
OptionParser#parse の引数が指定されなかったときに使われます。
@param argv デフォルトでパースしたい文字列の配列を指定します。
//emlist[例][ruby]{
require "optparse"
config = {}
opts = OptionParser.new
opts.on("-r", "--require LIBRARY"){|lib| config[:lib] = lib }
# パラメーター指定なしで実行
opts.default_argv # => []
opts.p... -
Pathname
# empty? -> bool (18412.0) -
ディレクトリに対しては Dir.empty?(self.to_s) と同じ、他に対しては FileTest.empty?(self.to_s) と同じです。
ディレクトリに対しては Dir.empty?(self.to_s) と同じ、他に対しては FileTest.empty?(self.to_s) と同じです。
//emlist[例 ディレクトリの場合][ruby]{
require "pathname"
require 'tmpdir'
Pathname("/usr/local").empty? # => false
Dir.mktmpdir { |dir| Pathname(dir).empty? } # => true
//}
//emlist[例 ファイルの場合][ruby]{
require "path... -
Object
# then -> Enumerator (18394.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
self を引数としてブロックを評価し、ブロックの結果を返します。
//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}
値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'
construct_url(arguments).
... -
Object
# then {|x| . . . } -> object (18394.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
self を引数としてブロックを評価し、ブロックの結果を返します。
//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}
値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'
construct_url(arguments).
... -
OptionParser
:: Arguable # getopts(short _ opt , *long _ opt) -> Hash (18394.0) -
指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。
指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。
コマンドラインに - もしくは -- を指定した場合、それ以降の解析を行ないません。
@param short_opt ショートネームのオプション(-f や -fx)を文字列で指定します。オプションが -f と -x の
2つの場合は "fx" の様に指定します。ここでオプションがないときは空文字列を指定します。
オプションが引数をとる場合は直後に ":" を付けます。
@param long_opt ロン... -
REXML
:: Text # to _ s -> String (18394.0) -
テキストの内容を正規化(すべての実体をエスケープ)された状態で返します。
テキストの内容を正規化(すべての実体をエスケープ)された状態で返します。
つまり返り値は XML のテキストとして妥当です。
結果は REXML::Text.new で指定した entity_filter を反映しています。
@see REXML::Text#value
//emlist[][ruby]{
require 'rexml/document'
t = REXML::Text.new("< & foobar", false, nil, false)
t.to_s # => "< & foobar"
t.value # => "< & foobar"
//} -
Thread
:: Queue # num _ waiting -> Integer (18394.0) -
キューを待っているスレッドの数を返します。
キューを待っているスレッドの数を返します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(1)
q.push(1)
t = Thread.new { q.push(2) }
sleep 0.05 until t.stop?
q.num_waiting # => 1
q.pop
t.join
//} -
OpenSSL
:: BN # negative? -> bool (18388.0) -
自身が負である場合に true を返します。Ruby 2.5, OpenSSL 2.1.0 から利用できます。
自身が負である場合に true を返します。Ruby 2.5, OpenSSL 2.1.0 から利用できます。
//emlist[][ruby]{
require 'openssl'
p 15.to_bn.negative? # => false
p 0.to_bn.negative? # => false
p (-5).to_bn.negative? # => true
//} -
CSV
# convert {|field , field _ info| . . . } (18376.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert {|field| . . . } (18376.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert(name) (18376.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# force _ quotes? -> bool (18376.0) -
出力される全てのフィールドがクオートされる場合は、真を返します。
出力される全てのフィールドがクオートされる場合は、真を返します。
//emlist[例][ruby]{
require "csv"
rows = [["header1", "header2"], ["row1_1,", "row1_2"]]
result = CSV.generate(force_quotes: false) do |csv|
rows.each { |row| csv << row }
csv.force_quotes? # => false
end
print result
# => header1,header2
# "row1_1,",row1_2... -
CSV
# header _ convert {|field , field _ info| . . . } (18376.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][... -
CSV
# header _ convert {|field| . . . } (18376.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][... -
CSV
# header _ convert(name) (18376.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][... -
CSV
:: Table # delete _ if {|column _ name , values| . . . } -> self (18376.0) -
ブロックを評価した結果が真である行か列を削除します。
ブロックを評価した結果が真である行か列を削除します。
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["... -
CSV
:: Table # delete _ if {|row| . . . } -> self (18376.0) -
ブロックを評価した結果が真である行か列を削除します。
ブロックを評価した結果が真である行か列を削除します。
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["... -
CSV
:: Table # values _ at(indices _ or _ headers) -> Array (18376.0) -
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の 参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行 単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の
参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行
単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
探索方法を変更したい場合は CSV::Table#by_col!,
CSV::Table#by_row! を使用してください。
アクセスモードを混在させることはできません。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
r... -
JSON
:: State # max _ nesting -> Integer (18376.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
//}
... -
Kernel
# create _ makefile(target , srcprefix = nil) -> true (18376.0) -
@todo
@todo
Kernel#have_library などの各種検査の結果を元に、拡張ライブラリを
ビルドするための Makefile を生成します。
extconf.rb は普通このメソッドの呼び出しで終ります。
@param target ターゲットとなる拡張ライブラリの名前を指定します。
例えば、拡張ライブラリで "Init_foo" という関数を定義して
いる場合は、"foo" を指定します。
'/' を含む場合は、最後のスラッシュ以降のみをターゲット名
として使用します... -
Logger
# datetime _ format -> String | nil (18376.0) -
ログに記録する時の日付のフォーマットです。
ログに記録する時の日付のフォーマットです。
デフォルトでは nil ですが、この値が nil の場合は日付のフォーマットとして
"%Y-%m-%dT%H:%M:%S.%06d " を使用します。
なお、"%06d" には Time#strftime ではなく、単に Time#usec の
値を String#% でフォーマットしたものが入ります。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.datetime_format # => nil
logger.debug("test")
lo... -
Logger
# datetime _ format=(format) (18376.0) -
ログに記録する時の日付のフォーマットをセットします。
ログに記録する時の日付のフォーマットをセットします。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.datetime_format # => nil
logger.debug("test")
logger.datetime_format = '%Y/%m/%dT%H:%M:%S.%06d' # => "%Y/%m/%dT%H:%M:%S.%06d"
logger.datetime_format # => "%Y/%m/%dT%H:%M:%S.%06d"
logger.debug("test"... -
Logger
# fatal(progname = nil) -> true (18376.0) -
FATAL 情報を出力します。
FATAL 情報を出力します。
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして
ログを出力します。
引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した
結果をメッセージとしてログを出力します。
@param progname ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。
ブロックを与えた場合は、プログラム名を文字列として与えます。
//emlist[例][ruby]{
r... -
Logger
# fatal(progname = nil) { . . . } -> true (18376.0) -
FATAL 情報を出力します。
FATAL 情報を出力します。
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして
ログを出力します。
引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した
結果をメッセージとしてログを出力します。
@param progname ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。
ブロックを与えた場合は、プログラム名を文字列として与えます。
//emlist[例][ruby]{
r... -
NilClass
# to _ d -> BigDecimal (18376.0) -
BigDecimal オブジェクトの 0.0 を返します。
BigDecimal オブジェクトの 0.0 を返します。
Ruby 2.6 で追加されたメソッドです。
//emlist[][ruby]{
require "bigdecimal"
require "bigdecimal/util"
p nil.to_d # => 0.0
//} -
OptionParser
# accept(klass , pat = / . * / ) {|str| . . . } -> () (18376.0) -
OptionParser.accept と同様ですが、 登録したブロックはレシーバーに限定されます。
OptionParser.accept と同様ですが、
登録したブロックはレシーバーに限定されます。
@param klass クラスオブジェクトを与えます。
@param pat match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与えます。
//emlist[例][ruby]{
require "optparse"
require "time"
opts = OptionParser.new
opts.accept(Time) do |s,|
begin
Time.parse(s) if s
rescue
raise OptionP... -
OptionParser
# environment(env) -> [String] (18376.0) -
環境変数 env に対して Shellwords.#shellwords を呼 んで配列にしてから parse を行ないます。
環境変数 env に対して
Shellwords.#shellwords を呼
んで配列にしてから parse を行ないます。
@param env 環境変数名を文字列で与えます。
@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。
//emlist[例][ruby]{
require "optparse"
config = ... -
OptionParser
# on _ tail(*arg , &block) -> self (18376.0) -
オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。
オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。
--version や --help の説明をサマリの最後に表示したい時に便利です。
@param arg OptionParser#on と同様です。
@param block OptionParser#on と同様です。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tai... -
OptionParser
# reject(klass) -> () (18376.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... -
Pathname
# parent -> Pathname (18376.0) -
self の親ディレクトリを指す新しい Pathname オブジェクトを返します。
self の親ディレクトリを指す新しい Pathname オブジェクトを返します。
//emlist[例 絶対パス][ruby]{
require "pathname"
path = Pathname("/usr")
path # => #<Pathname:/usr>
path.parent # => #<Pathname:/>
//}
//emlist[例 相対パス][ruby]{
require "pathname"
path = Pathname("foo/bar")
path.parent # => #<Pathname:foo>
p... -
REXML
:: StreamListener # entitydecl(content) -> () (18376.0) -
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
@param content 実体宣言が配列で渡されます
実体宣言の書き方によって content に渡されるデータの形式が異なります。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
xml = <<EOS
<!DOCTYPE root [
<!ENTITY % YN '"Yes"'>
<!ENTITY % YN 'Yes... -
String
# crypt(salt) -> String (18376.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
StringScanner
# concat(str) -> self (18376.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。
selfを返します。
@param str 操作対象の文字列に対し str を破壊的に連結します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ... -
StringScanner
# match?(regexp) -> Integer | nil (18376.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)... -
StringScanner
# matched _ size -> Integer | nil (18376.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
前回マッチした部分文字列の長さを返します。
前回マッチに失敗していたら nil を返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(encode)}/)
s.matched_size
end
p run("UTF-8") #=> 3
p... -
Thread
:: Queue # shift(non _ block = false) -> object (18376.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (18376.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... -
UnboundMethod
# source _ location -> [String , Integer] | nil (18376.0) -
ソースコードのファイル名と行番号を配列で返します。
ソースコードのファイル名と行番号を配列で返します。
その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。
//emlist[例][ruby]{
require 'time'
Time.instance_method(:zone).source_location # => nil
Time.instance_method(:httpdate).source_location # => ["/Users/user/.rbenv/versions/2.4.3/lib/ruby/2.4.0/time.rb", 654]
/... -
Fiddle
:: Importer # struct(signature) -> Class (18370.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
C の構造体型に対応する Ruby のクラスを構築して返します。
構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。
このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
... -
Fiddle
:: Pointer # to _ value -> object (18370.0) -
自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、 自身が指すオブジェクトを返します。
自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、
自身が指すオブジェクトを返します。
例:
require 'fiddle'
s = 'abc'
i = Fiddle.dlwrap(s)
cptr = Fiddle::Pointer.new(i)
p cptr.to_value #=> "abc" -
Addrinfo
# connect _ from(host , port) -> Socket (18358.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
引数で指定されたアドレスから
自身のアドレスへソケットを接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定したアドレスはソケット接続のローカル側のアドレスになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).co... -
Addrinfo
# connect _ from(host , port) {|sock| . . . } -> object (18358.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
引数で指定されたアドレスから
自身のアドレスへソケットを接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定したアドレスはソケット接続のローカル側のアドレスになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).co... -
BasicSocket
# do _ not _ reverse _ lookup -> bool (18358.0) -
ソケットごとのアドレスからホスト名への逆引きの設定を返します。
ソケットごとのアドレスからホスト名への逆引きの設定を返します。
真ならアドレスからホスト名への逆引きを行いません。
初期値はソケットを生成したときの
BasicSocket.do_not_reverse_lookup の値になります。
require 'socket'
BasicSocket.do_not_reverse_lookup = false
TCPSocket.open("www.ruby-lang.org", 80) {|sock|
p sock.do_not_reverse_lookup # => false
}
BasicSock... -
BigDecimal
# split -> [Integer , String , Integer , Integer] (18358.0) -
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、 符号 (NaNのときは 0、それ以外は+1か-1になります)、 仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、
符号 (NaNのときは 0、それ以外は+1か-1になります)、
仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
//emlist[][ruby]{
require "bigdecimal"
a = BigDecimal("3.14159265")
f, x, y, z = a.split
//}
とすると、f = 1、x = "314159265"、y = 10、z = 1 になります。
従って、以下のようにする事で Float に変換することができます。
//em... -
Digest
:: Base # digest! -> String (18358.0) -
updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。 Digest::Base#digestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。
updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。
Digest::Base#digestと違い、
メソッドの処理後、
オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。
返す文字列は、MD5では16バイト長、SHA1およびRMD160では20バイト長、
SHA256では32バイト長、SHA384では48バイト長、SHA512では64バイト長です。
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p dige... -
Digest
:: Base # hexdigest -> String (18358.0) -
updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
updateや<<によって追加した文字列に対するハッシュ値を、
ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
返す文字列は、
MD5では32バイト長、SHA1およびRMD160では40バイト長、SHA256では64バイト長、
SHA384では96バイト長、SHA512では128バイト長です。
Rubyで書くと以下と同じです。
def hexdigest
digest.unpack("H*")[0]
end
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
... -
Digest
:: Base # to _ s -> String (18358.0) -
updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
updateや<<によって追加した文字列に対するハッシュ値を、
ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
返す文字列は、
MD5では32バイト長、SHA1およびRMD160では40バイト長、SHA256では64バイト長、
SHA384では96バイト長、SHA512では128バイト長です。
Rubyで書くと以下と同じです。
def hexdigest
digest.unpack("H*")[0]
end
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
... -
Enumerable
# each _ with _ index(*args) -> Enumerator (18358.0) -
要素とそのインデックスをブロックに渡して繰り返します。
要素とそのインデックスをブロックに渡して繰り返します。
ブロックを省略した場合は、
要素とそのインデックスを繰り返すような
Enumerator を返します。
Enumerator#with_index は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
@param args イテレータメソッド (each など) にそのまま渡されます。
//emlist[例][ruby]{
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
#... -
Enumerable
# each _ with _ index(*args) {|item , index| . . . } -> self (18358.0) -
要素とそのインデックスをブロックに渡して繰り返します。
要素とそのインデックスをブロックに渡して繰り返します。
ブロックを省略した場合は、
要素とそのインデックスを繰り返すような
Enumerator を返します。
Enumerator#with_index は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
@param args イテレータメソッド (each など) にそのまま渡されます。
//emlist[例][ruby]{
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
#... -
Float
# to _ d -> BigDecimal (18358.0) -
自身を BigDecimal に変換します。
自身を BigDecimal に変換します。
@param prec 計算結果の精度。省略した場合は Float::DIG + 1 です。
@return BigDecimal に変換したオブジェクト
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
p 1.0.to_d # => 0.1e1
p (1.0 / 0).to_d # => Infinity
p (1.0 / 3).to_d / (2.0 / 3).to_d # => 0.5e0
p ((1.0 / 3) / (2.0 / 3... -
Float
# to _ d(prec) -> BigDecimal (18358.0) -
自身を BigDecimal に変換します。
自身を BigDecimal に変換します。
@param prec 計算結果の精度。省略した場合は Float::DIG + 1 です。
@return BigDecimal に変換したオブジェクト
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
p 1.0.to_d # => 0.1e1
p (1.0 / 0).to_d # => Infinity
p (1.0 / 3).to_d / (2.0 / 3).to_d # => 0.5e0
p ((1.0 / 3) / (2.0 / 3... -
Integer
# to _ bn -> OpenSSL :: BN (18358.0) -
Integer を同じ数を表す OpenSSL::BN のオブジェクトに 変換します。
Integer を同じ数を表す OpenSSL::BN のオブジェクトに
変換します。
//emlist[][ruby]{
require 'openssl'
pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}
なお、実装は、以下のようになっています。
//emlist[][ruby]{
class Integer
def to_bn
OpenSSL::BN::new(self)
end
end
//}
@see OpenSSL::BN.new, OpenSSL::... -
JSON
:: State # to _ h -> Hash (18358.0) -
自身をハッシュに変換します。
自身をハッシュに変換します。
//emlist[例][ruby]{
require "json"
require "pp"
json_state = JSON::State.new
pp json_state.to_h
# => {:indent=>"",
# :space=>"",
# :space_before=>"",
# :object_nl=>"",
# :array_nl=>"",
# :allow_nan=>false,
# :ascii_only=>false,
# :max_nesting=>100,
# ... -
JSON
:: State # to _ hash -> Hash (18358.0) -
自身をハッシュに変換します。
自身をハッシュに変換します。
//emlist[例][ruby]{
require "json"
require "pp"
json_state = JSON::State.new
pp json_state.to_h
# => {:indent=>"",
# :space=>"",
# :space_before=>"",
# :object_nl=>"",
# :array_nl=>"",
# :allow_nan=>false,
# :ascii_only=>false,
# :max_nesting=>100,
# ... -
Logger
# formatter -> String (18358.0) -
ログを出力する際に使用するフォーマッターを取得します。
ログを出力する際に使用するフォーマッターを取得します。
このメソッドの返り値が持つ call メソッドは 4 つの引数 (severity, time, program name, message) を受けとります。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.formatter # => nil
logger.info("test")
# => I, [2019-05-09T22:13:56.509159 #13912] INFO -- : test
ltsv_formatter =... -
Method
# source _ location -> [String , Integer] | nil (18358.0) -
ソースコードのファイル名と行番号を配列で返します。
ソースコードのファイル名と行番号を配列で返します。
その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。
@see Proc#source_location
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
def foo; end
end
# ----- end of /tmp/foo.rb ----
require '/tmp/foo'
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.source... -
Monitor
# enter -> () (18358.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.en... -
Monitor
# mon _ enter -> () (18358.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.en... -
MonitorMixin
# mon _ enter -> () (18358.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_ent... -
OpenURI
:: Meta # charset -> String | nil (18358.0) -
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。 文字列は小文字へと変換されています。
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。
文字列は小文字へと変換されています。
Content-Type ヘッダがない場合は、nil を返します。ただし、ブロックが与えられている場合は、
その結果を返します。また対象となる URI のスキームが HTTP であり、自身のタイプが text である場合は、
2616 3.7.1 で定められているとおり、文字列 "iso-8859-1" を返します。
//emlist[例][ruby]{
require 'open-uri'
URI.open("http://www.ru... -
OpenURI
:: Meta # charset { . . . } -> String (18358.0) -
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。 文字列は小文字へと変換されています。
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。
文字列は小文字へと変換されています。
Content-Type ヘッダがない場合は、nil を返します。ただし、ブロックが与えられている場合は、
その結果を返します。また対象となる URI のスキームが HTTP であり、自身のタイプが text である場合は、
2616 3.7.1 で定められているとおり、文字列 "iso-8859-1" を返します。
//emlist[例][ruby]{
require 'open-uri'
URI.open("http://www.ru... -
OpenURI
:: Meta # content _ type -> String (18358.0) -
対象となるリソースの Content-Type を文字列で返します。Content-Type ヘッダの情報が使われます。 Content-Type ヘッダがない場合は、"application/octet-stream" を返します。
対象となるリソースの Content-Type を文字列で返します。Content-Type ヘッダの情報が使われます。
Content-Type ヘッダがない場合は、"application/octet-stream" を返します。
//emlist[例][ruby]{
require 'open-uri'
URI.open('http://www.ruby-lang.org/') {|f|
p f.content_type #=> "text/html"
}
//} -
OptionParser
# permute!(argv = self . default _ argv , into: nil) -> [String] (18358.0) -
与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。
与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv を返します。
下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。
@param argv パースしたい引数を文字列の配列で指定します。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブ... -
OptionParser
# permute(*args , into: nil) -> [String] (18358.0) -
与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。
与えられた argv をパースします。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv からオプションを取り除いたものを返します。
下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。
@param argv パースしたい引数を文字列の配列で指定します。
@param args パースしたい引数を順に文字列として与えます。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとし... -
OptionParser
# permute(argv , into: nil) -> [String] (18358.0) -
与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。
与えられた argv をパースします。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv からオプションを取り除いたものを返します。
下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。
@param argv パースしたい引数を文字列の配列で指定します。
@param args パースしたい引数を順に文字列として与えます。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとし... -
OptionParser
# separator(sep) -> () (18358.0) -
サマリにオプションを区切るための文字列 sep を挿入します。 オプションにいくつかの種類がある場合に、サマリがわかりやすくなります。
サマリにオプションを区切るための文字列 sep を挿入します。
オプションにいくつかの種類がある場合に、サマリがわかりやすくなります。
サマリには on メソッドを呼んだ順にオプションが表示されるので、区切りを挿入したい
ところでこのメソッドを呼びます。
@param sep サマリの区切りを文字列で指定します。
//emlist[][ruby]{
require 'optparse'
opts = OptionParser.new
opts.banner = "Usage: example.rb [options]"
opts.separator ""
opts.separator... -
Pathname
# entries -> [Pathname] (18358.0) -
self に含まれるファイルエントリ名を元にした Pathname オブジェクトの配列を返します。
self に含まれるファイルエントリ名を元にした Pathname オブジェクトの配列を返します。
@raise Errno::EXXX self が存在しないパスであったりディレクトリでなければ例外が発生します。
//emlist[例][ruby]{
require 'pathname'
require 'pp'
pp Pathname('/usr/local').entries
# => [#<Pathname:.>,
# #<Pathname:..>,
# #<Pathname:bin>,
# #<Pathname:etc>,
# #<Pathnam... -
REXML
:: Elements # to _ a(xpath = nil) -> [REXML :: Element] (18358.0) -
すべての子要素の配列を返します。
すべての子要素の配列を返します。
xpath を指定した場合は、その XPath 文字列に
マッチする要素の配列を返します。
REXML::Elements#each と同様、REXML::XPath.match などと
異なり、要素以外の子ノードは無視されます。
@param xpath XPath文字列
//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a>sean<b/>elliott<c/></a>'
doc.root.elements.to_... -
Rational
# to _ d(nFig) -> BigDecimal (18358.0) -
自身を BigDecimal に変換します。
自身を BigDecimal に変換します。
nFig 桁まで計算を行います。
@param nFig 計算を行う桁数
@return BigDecimal に変換したオブジェクト
@raise ArgumentError nFig に 0 以下を指定した場合に発生します。
//emlist[][ruby]{
require "bigdecimal"
require "bigdecimal/util"
p Rational(1, 3).to_d(3) # => 0.333e0
p Rational(1, 3).to_d(10) # => 0.3333333333e0
//} -
Socket
# connect(server _ sockaddr) -> 0 (18358.0) -
connect(2) でソケットを接続します。
connect(2) でソケットを接続します。
server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。
0 を返します。
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。詳しくは
man を参照してください。
たとえば IPv4 の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
require... -
BasicSocket
# remote _ address -> Addrinfo (18340.0) -
getpeername(2) で得られたリモートアドレス情報を Addrinfo オブジェクトとして返します。
getpeername(2) で得られたリモートアドレス情報を
Addrinfo オブジェクトとして返します。
返されたオブジェクトの Addrinfo#protocol は 0 を
返すことに注意してください。
require 'socket'
TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.remote_address #=> #<Addrinfo: 221.186.184.68:80 TCP>
}
TCPServer.open("127.0.0.1", 1728) {|serv|
c = TCP... -
BigDecimal
# inspect -> String (18340.0) -
BigDecimal オブジェクトを表す文字列を返します。
BigDecimal オブジェクトを表す文字列を返します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1234.5678").inspect
# => "0.12345678e4"
//} -
BigDecimal
# to _ json(*args) -> String (18340.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json
に渡されます。
//emlist[例][ruby]{
require 'json/add/bigdecimal'
BigDecimal('0.123456789123456789').to_json # => "{\"... -
BigDecimal
# truncate -> Integer (18340.0) -
小数点以下の数を切り捨てて整数にします。
小数点以下の数を切り捨てて整数にします。
@param n 小数点以下の桁数を整数で指定します。
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n が正の時は、小数点以下 n+1 位の数字を切り捨てます
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").truncate(4).to_f # => 1.2345
BigDec... -
BigDecimal
# truncate(n) -> BigDecimal (18340.0) -
小数点以下の数を切り捨てて整数にします。
小数点以下の数を切り捨てて整数にします。
@param n 小数点以下の桁数を整数で指定します。
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n が正の時は、小数点以下 n+1 位の数字を切り捨てます
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").truncate(4).to_f # => 1.2345
BigDec... -
CSV
# converters -> Array (18340.0) -
現在の変換器のリストを返します。
現在の変換器のリストを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", converters: CSV::Converters.keys)
csv.converters # => [:integer, :float, :integer, :float, :date, :date_time, :date_time, :integer, :float]
//}
@see CSV::Converters -
CSV
# field _ size _ limit -> Integer (18340.0) -
フィールドサイズの最大値を返します。
フィールドサイズの最大値を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA)
csv.field_size_limit # => nil
p csv.read # => [["a", "b"], ["\n2\n2\n", ""]]
DATA.rewind
csv = CSV.new(DATA, field_size_limit: 4)
p csv.field_size_limit # => 4
csv.read # => #<CSV::MalformedCSVError: Field size exceeded on l... -
CSV
# gets -> Array | CSV :: Row (18340.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r... -
CSV
# header _ converters -> Array (18340.0) -
現在有効なヘッダ用変換器のリストを返します。
現在有効なヘッダ用変換器のリストを返します。
組込みの変換器は名前を返します。それ以外は、オブジェクトを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("HEADER1,HEADER2\nrow1_1,row1_2", headers: true, header_converters: CSV::HeaderConverters.keys)
csv.header_converters # => [:downcase, :symbol]
csv.read.to_a # => header2], ["row1_1",... -
CSV
# inspect -> String (18340.0) -
ASCII 互換文字列で自身の情報を表したものを返します。
ASCII 互換文字列で自身の情報を表したものを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.inspect # => "<#CSV io_type:StringIO encoding:UTF-8 lineno:0 col_sep:\",\" row_sep:\"\\n\" quote_char:\"\\\"\">"
//} -
CSV
# quote _ char -> String (18340.0) -
フィールドをクオートするのに使用する文字列を返します。
フィールドをクオートするのに使用する文字列を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", quote_char: "'")
csv.quote_char # => "'"
//}
@see CSV.new -
CSV
# return _ headers? -> bool (18340.0) -
ヘッダを返す場合は、真を返します。 そうでない場合は、偽を返します。
ヘッダを返す場合は、真を返します。
そうでない場合は、偽を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true, return_headers: false)
csv.return_headers? # => false
csv.shift # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
csv = CSV.new("header1,header2\nrow1_1,row1_2"... -
CSV
# shift -> Array | CSV :: Row (18340.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r... -
CSV
# unconverted _ fields? -> bool (18340.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... -
CSV
# write _ headers? -> bool (18340.0) -
ヘッダを出力先に書き込む場合は真を返します。 そうでない場合は偽を返します。
ヘッダを出力先に書き込む場合は真を返します。
そうでない場合は偽を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv.write_headers? # => nil
header = ["header1", "header2"]
row = ["row1_1", "row1_2"]
result = CSV.generate(headers: header, write_headers: false) do |csv|
csv.write_hea... -
CSV
:: Row # deconstruct -> [object] (18340.0) -
パターンマッチに使用する行の値の配列を返します。
パターンマッチに使用する行の値の配列を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3"], [1, 2, 3])
case row
in [2.., 2.., 2..]
puts "all 2 or more"
in [...2, 2.., 2..]
puts "first column is less than 2, and rest columns are 2 or more"
end
#=> "first column is less than ... -
CSV
:: Row # deconstruct _ keys(keys) -> Hash (18340.0) -
パターンマッチに使用するヘッダの名前と値の Hash を返します。
パターンマッチに使用するヘッダの名前と値の Hash を返します。
このメソッドはヘッダ名の型をシンボルに変換しないため、ヘッダ名が文字列かつ Hash パターン でパターンマッチしたい場合はキーをシンボルに変換する必要があります。
@param keys パターンマッチに使用するヘッダの名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new([:header1, :header2, :header3], [1, 2, 3])
case row
in { hea... -
CSV
:: Row # delete _ if {|header , field| . . . } -> self (18340.0) -
与えられたブロックにヘッダとフィールドのペアを渡して評価します。 評価した結果が真である場合に、その組を自身から削除します。
与えられたブロックにヘッダとフィールドのペアを渡して評価します。
評価した結果が真である場合に、その組を自身から削除します。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3", "header4"], ["valid1", "valid2", "invalid", "valid4"])
row # => #<CSV::Row "header1":"valid1" "header2":"valid2" "hea... -
CSV
:: Row # inspect -> String (18340.0) -
ASCII 互換であるエンコーディングの文字列で自身の情報を返します。
ASCII 互換であるエンコーディングの文字列で自身の情報を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header1"], [1, 2, 3])
row.inspect # => "#<CSV::Row \"header1\":1 \"header2\":2 \"header1\":3>"
//} -
CSV
:: Row # to _ csv -> String (18340.0) -
自身を CSV な文字列として返します。ヘッダは使用しません。
自身を CSV な文字列として返します。ヘッダは使用しません。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//} -
CSV
:: Row # to _ hash -> Hash (18340.0) -
自身をシンプルなハッシュに変換します。
自身をシンプルなハッシュに変換します。
フィールドの順序は無視されます。
重複したフィールドは削除されます。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header2", "header1", "header2"], [1, 2, 3])
row.to_hash # => {"header2"=>3, "header1"=>2}
//} -
CSV
:: Row # to _ s -> String (18340.0) -
自身を CSV な文字列として返します。ヘッダは使用しません。
自身を CSV な文字列として返します。ヘッダは使用しません。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//}