別のキーワード
ライブラリ
クラス
-
ARGF
. class (9) - Array (87)
- BasicObject (5)
- BigDecimal (13)
- Binding (3)
- CSV (5)
-
CSV
:: Row (3) -
CSV
:: Table (6) - Class (1)
- Complex (6)
- Date (3)
- Dir (10)
- Enumerator (6)
-
Enumerator
:: Lazy (1) - Exception (2)
- Fiber (4)
- File (2)
-
File
:: Stat (1) - Float (8)
- FrozenError (1)
-
Gem
:: Version (4) - Hash (37)
- IO (19)
- Integer (46)
-
JSON
:: State (2) - MatchData (8)
- Matrix (22)
-
Matrix
:: LUPDecomposition (1) - Method (12)
- Module (24)
- Numeric (31)
- Object (17)
-
OpenSSL
:: BN (8) - OpenStruct (2)
- OptionParser (20)
- Pathname (28)
-
Prime
:: PseudoPrimeGenerator (4) - Proc (5)
-
Psych
:: Stream (2) -
REXML
:: Attributes (3) -
REXML
:: Child (2) -
REXML
:: Element (9) -
Rake
:: FileList (6) - Random (3)
- Range (13)
- Rational (8)
- Refinement (1)
- Regexp (1)
-
Resolv
:: DNS :: Name (1) -
RubyVM
:: AbstractSyntaxTree :: Node (7) -
RubyVM
:: InstructionSequence (10) - Set (10)
- SignalException (2)
- String (127)
- StringIO (6)
- StringScanner (6)
- Struct (13)
- Symbol (4)
- Thread (5)
-
Thread
:: Backtrace :: Location (6) -
Thread
:: ConditionVariable (2) -
Thread
:: Mutex (2) -
Thread
:: SizedQueue (1) - ThreadGroup (2)
- Time (5)
- TracePoint (7)
- UnboundMethod (4)
- UncaughtThrowError (1)
- Vector (8)
-
WIN32OLE
_ TYPE (1)
モジュール
- Comparable (3)
- Enumerable (35)
-
OptionParser
:: Arguable (2)
キーワード
- != (1)
- !~ (1)
- % (4)
- & (1)
- * (3)
- ** (1)
- + (3)
- +@ (2)
- - (1)
- -@ (3)
-
/ (1) - < (4)
- << (8)
- <= (4)
- <=> (13)
- == (8)
- === (4)
- =~ (1)
- > (4)
- >= (4)
- >> (2)
- [] (10)
- []= (8)
-
_ dump (1) - abbrev (1)
- abs (2)
- abs2 (1)
-
absolute
_ path (2) - add (1)
-
add
_ namespace (2) -
add
_ row (1) - allbits? (1)
-
angle
_ with (1) - anybits? (1)
- append (1)
-
append
_ features (1) - ascend (1)
- autoload (1)
- b (1)
-
backtrace
_ locations (2) -
base
_ label (2) - between? (1)
-
bind
_ call (2) - binmode (1)
- binread (1)
-
bit
_ length (1) - broadcast (1)
- bsearch (2)
-
bsearch
_ index (2) -
by
_ col _ or _ row! (1) -
by
_ row! (1) - bytes (2)
- call (2)
- capitalize! (1)
- casecmp (1)
- casecmp? (1)
- ceil (2)
- center (1)
- chars (2)
- children (3)
- chomp (1)
- chomp! (1)
- chop! (1)
- chown (1)
- chr (3)
-
chunk
_ while (1) - clamp (2)
-
class
_ eval (1) -
class
_ exec (1) - clear (5)
-
clear
_ bit! (1) -
clear
_ exclude (1) - close (2)
- closed? (1)
- codepoints (2)
- coerce (6)
- collect! (6)
- column (2)
- combination (2)
- compact (2)
- compact! (1)
-
compare
_ by _ identity (1) - concat (5)
- configure (1)
- conj (1)
- conjugate (1)
- count (1)
- covector (1)
- cover? (2)
- crypt (1)
- curry (2)
-
deconstruct
_ keys (1) -
default
_ event _ sources (1) -
defined
_ class (1) - delete (3)
- delete! (1)
-
delete
_ if (5) -
delete
_ namespace (1) -
delete
_ prefix! (1) -
delete
_ suffix! (1) -
deprecate
_ constant (1) - descend (1)
- difference (1)
- dig (2)
- digits (2)
- dirname (1)
- disable (2)
- disasm (1)
- disassemble (1)
- div (1)
- divmod (3)
- downcase! (1)
- downto (2)
- each (25)
-
each
_ byte (5) -
each
_ char (4) -
each
_ child (4) -
each
_ codepoint (5) -
each
_ cons (2) -
each
_ entry (3) -
each
_ grapheme _ cluster (2) -
each
_ index (2) -
each
_ key (1) -
each
_ line (12) -
each
_ pair (4) -
each
_ slice (2) -
each
_ value (1) -
each
_ with _ index (6) - eigen (1)
- eigensystem (1)
- enable (2)
- encode (3)
- encode! (2)
-
end
_ with? (1) - entries (2)
-
enum
_ for (2) - eql? (4)
- equal? (3)
- eval (2)
- exception (1)
- existing! (1)
- fdiv (3)
- fileno (1)
- fill (6)
- filter! (4)
- finite? (1)
-
first
_ column (1) -
first
_ lineno (2) - flatten (1)
- flatten! (1)
- floor (3)
- fnmatch (1)
-
force
_ encoding (1) - freeze (2)
- friday? (1)
- gcd (1)
- gcdlcm (1)
- getbyte (1)
- getc (1)
-
grapheme
_ clusters (2) - gsub! (5)
-
has
_ elements? (1) - hash (3)
- hex (1)
- hstack (1)
- i (1)
- import (1)
-
import
_ methods (1) - included (1)
- infinite? (1)
- inherited (1)
- inject (3)
- insert (2)
- inspect (11)
-
instance
_ eval (1) -
instance
_ exec (1) - iseuc (1)
-
keep
_ if (4) - label (2)
-
last
_ column (1) -
last
_ lineno (1) - lazy (1)
- lcm (1)
- length (1)
- lineno (1)
- lines (2)
- list (1)
- ljust (1)
- lstrip! (1)
- lup (1)
-
lup
_ decomposition (1) - magnitude (2)
- map! (6)
-
marshal
_ load (1) - match (2)
- match? (2)
-
max
_ by (4) - merge (4)
- merge! (2)
- minor (2)
-
mod
_ add (1) -
mod
_ exp (1) -
mod
_ inverse (1) -
mod
_ mul (1) -
mod
_ sub (1) -
module
_ eval (1) -
module
_ exec (1) - modulo (1)
- name= (1)
- names (1)
- namespace (1)
- namespaces (2)
- negative? (2)
- next (2)
- next! (1)
-
next
_ sibling= (1) -
next
_ year (1) - nobits? (1)
- nonzero? (2)
- offset (2)
- on (12)
-
on
_ head (1) -
on
_ tail (1) - ord (1)
- order! (2)
- owned? (1)
- parent (1)
- parse! (1)
-
parse
_ csv (1) - partition (1)
- path (3)
- permutation (2)
- permute! (1)
- polar (1)
- pos= (1)
- positive? (2)
- pow (2)
- pred (1)
- prefixes (2)
- prepend (2)
-
prepend
_ features (1) - prepended (1)
- prerelease? (1)
-
pretty
_ print (1) -
prev
_ float (1) -
prev
_ year (1) -
previous
_ sibling= (1) -
prime
_ division (1) -
private
_ class _ method (2) -
private
_ constant (1) - product (2)
-
proper
_ subset? (1) -
proper
_ superset? (1) - public (3)
- push (2)
- puts (1)
- quo (1)
- raise (3)
- rand (3)
- rationalize (1)
- read (1)
- readlines (1)
- realpath (2)
- receiver (2)
- rect (1)
- rectangular (1)
- reduce (3)
- rehash (1)
- reject (2)
- reject! (5)
- relative? (1)
-
relative
_ path _ from (1) - release (1)
- remainder (3)
-
remove
_ method (1) - reopen (3)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (4)
- reset (1)
- resolve (1)
- resume (1)
- reverse (1)
- reverse! (2)
-
reverse
_ each (4) - rewind (2)
- rindex (1)
- rjust (1)
- root (1)
- root? (1)
-
root
_ node (1) - rotate! (1)
- round (1)
- row (2)
- rpartition (1)
- rshift! (1)
- rstrip! (1)
- run (1)
- sample (4)
- saturday? (1)
- scan (2)
- scrub (3)
- scrub! (3)
- seek (1)
- select! (4)
- shuffle! (2)
- signal (1)
- signm (1)
- signo (1)
-
singleton
_ methods (1) - size (2)
- skip (1)
- slice (6)
-
slice
_ when (1) - solve (1)
- sort (2)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) -
source
_ location (1) - split (3)
- squeeze! (1)
- start (2)
-
start
_ with? (2) - step (12)
- strip! (1)
- sub (2)
- sub! (4)
-
subdomain
_ of? (1) - subset? (1)
- subtract (1)
- succ (2)
- succ! (1)
- sum (2)
- summarize (2)
-
super
_ method (1) - superset? (1)
- swapcase! (1)
- synchronize (1)
- tally (2)
- terminate (1)
- then (1)
- thursday? (1)
- times (2)
-
to
_ a (4) -
to
_ ary (1) -
to
_ bn (1) -
to
_ c (1) -
to
_ csv (1) -
to
_ enum (2) -
to
_ f (1) -
to
_ h (8) -
to
_ i (1) -
to
_ int (2) -
to
_ path (1) -
to
_ proc (4) -
to
_ s (10) -
to
_ str (1) -
tr
_ s! (1) -
transform
_ keys! (3) -
transform
_ values! (2) - truncate (1)
- trust (1)
- type (1)
- undump (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - union (1)
- uniq (4)
- uniq! (2)
- unlink (1)
- unscan (1)
- unshift (1)
- untrust (1)
- upcase! (1)
- update (2)
- upto (3)
- vstack (1)
-
wait
_ readable (1) - wakeup (1)
-
with
_ index (2) -
yield
_ self (1) - zero? (1)
- zip (4)
- | (1)
- ~ (1)
検索結果
先頭5件
-
TracePoint
# self -> object (63361.0) -
イベントを発生させたオブジェクトを返します。
イベントを発生させたオブジェクトを返します。
以下のようにする事で同じ値を取得できます。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding -
RubyVM
:: InstructionSequence # first _ lineno -> Integer (45352.0) -
self が表す命令シーケンスの 1 行目の行番号を返します。
self が表す命令シーケンスの 1 行目の行番号を返します。
例1:irb で実行した場合
RubyVM::InstructionSequence.compile('num = 1 + 2').first_lineno
# => 1
例2:
# /tmp/method.rb
require "foo-library"
def foo
p :foo
end
RubyVM::InstructionSequence.of(method(:foo)).first_lineno
# => 2 -
Module
# prepend _ features(mod) -> self (37009.0) -
Module#prepend から呼び出されるメソッドで、 prepend の処理の実体です。このメソッド自体は mod で指定した モジュール/クラスの継承チェインの先頭に self を追加します。
Module#prepend から呼び出されるメソッドで、
prepend の処理の実体です。このメソッド自体は mod で指定した
モジュール/クラスの継承チェインの先頭に self を追加します。
このメソッドを上書きすることで、prepend の処理を変更したり
追加したりすることができます。
@param mod prepend を呼び出したモジュール
@return mod が返されます
//emlist[例][ruby]{
class Recorder
RECORDS = []
end
module X
def self.prepend_features(mod)
... -
RubyVM
:: InstructionSequence # to _ a -> Array (36424.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
RubyVM
:: AbstractSyntaxTree :: Node # children -> Array (36388.0) -
self の子ノードを配列で返します。
self の子ノードを配列で返します。
どのような子ノードが返ってくるかは、そのノードの type によって異なります。
戻り値は、ほかの RubyVM::AbstractSyntaxTree::Node のインスタンスや nil を含みます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.children
# => [[], nil, #<RubyVM::AbstractSyntaxTree::Node:OPCALL@1:0-1:5>]
//} -
RubyVM
:: AbstractSyntaxTree :: Node # first _ column -> Integer (36388.0) -
ソースコード中で、self を表すテキストが最初に現れる列番号を返します。
ソースコード中で、self を表すテキストが最初に現れる列番号を返します。
列番号は0-originで、バイト単位で表されます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.first_column # => 0
//} -
RubyVM
:: AbstractSyntaxTree :: Node # first _ lineno -> Integer (36388.0) -
ソースコード中で、self を表すテキストが最初に現れる行番号を返します。
ソースコード中で、self を表すテキストが最初に現れる行番号を返します。
行番号は1-originです。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.first_lineno # => 1
//} -
RubyVM
:: InstructionSequence # inspect -> String (36388.0) -
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}
@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path -
RubyVM
:: InstructionSequence # path -> String (36388.0) -
self が表す命令シーケンスの相対パスを返します。
self が表す命令シーケンスの相対パスを返します。
self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"
例2: RubyVM::InstructionSequence.compi... -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (36370.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
RubyVM
:: InstructionSequence # label -> String (36370.0) -
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。
トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"
例2: R... -
RubyVM
:: InstructionSequence # base _ label -> String (36352.0) -
self が表す命令シーケンスの基本ラベルを返します。
self が表す命令シーケンスの基本ラベルを返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.base_label
# => "<compiled>"
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.rb
def hello
puts "h... -
RubyVM
:: InstructionSequence # disasm -> String (36352.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # disassemble -> String (36352.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # eval -> object (36052.0) -
self の命令シーケンスを評価してその結果を返します。
self の命令シーケンスを評価してその結果を返します。
RubyVM::InstructionSequence.compile("1 + 2").eval # => 3 -
Rational
# rationalize(eps = 0) -> Rational (27730.0) -
自身から eps で指定した許容誤差の範囲に収まるような Rational を返 します。
自身から eps で指定した許容誤差の範囲に収まるような Rational を返
します。
eps を省略した場合は self を返します。
@param eps 許容する誤差
//emlist[例][ruby]{
r = Rational(5033165, 16777216)
r.rationalize # => (5033165/16777216)
r.rationalize(Rational(0.01)) # => (3/10)
r.rationalize(Rational(0.1)) # => (1/3)
//} -
String
# strip! -> self | nil (27727.0) -
先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
先頭と末尾の空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
strip! は、内容を変更した self を返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc\r\n"
p str.strip! #=> "abc"
p str #=> "abc"
str = "abc"
p str.strip! #=> nil
p str #=> "abc"
str = " \0 abc \0"
str.st... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (27715.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して... -
String
# lstrip! -> self | nil (27709.0) -
文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の先頭にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
lstrip! は self を変更して返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc"
p str.lstrip! # => "abc"
p str # => "abc"
str = "abc"
p str.lstrip! # => nil
p str # => "abc"
//} -
String
# rstrip! -> self | nil (27709.0) -
文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の末尾にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
str = " abc\n"
p str.rstrip! # => " abc"
p str # => " abc"
str = " abc \r\n\t\v\0"
p str.rstrip! # => " abc"
p str # => " abc"
//}
@see String#rstrip, String#lstrip -
Proc
# to _ proc -> self (27691.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
pr = proc {}
p pr == pr.to_proc # => true
//} -
Gem
:: Version # prerelease? -> bool (27688.0) -
self がプレリリースと思われる文字を含むバージョンかどうかを返します。
self がプレリリースと思われる文字を含むバージョンかどうかを返します。
//emlist[例][ruby]{
Gem::Version.new('1.2.0a').prerelease? # => true
Gem::Version.new('1.2.0').prerelease? # => false
//}
@see Gem::Version#release -
Random
# rand(range) -> Integer | Float (27658.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
OptionParser
# parse!(argv = self . default _ argv , into: nil) -> [String] (27643.0) -
与えられた argv をパースします。
与えられた argv をパースします。
OptionParser#permute! と同様に argv を破壊的にパースします。
環境変数に POSIXLY_CORRECT が設定されている場合は、
OptionParser#order! と同様に振舞います。
@param argv パースしたい引数を文字列の配列で指定します。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブロックの値が格納されます。
キーの名前はロングオプシ... -
REXML
:: Attributes # prefixes -> [String] (27406.0) -
self の中で宣言されている prefix の集合を 文字列の配列で返します。
self の中で宣言されている prefix の集合を
文字列の配列で返します。
self が属する要素より上位の要素で定義されているものは含みません。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='<'/>
</root>
EOS
a = doc... -
REXML
:: Child # previous _ sibling=(other) (27406.0) -
other を self の前の隣接ノードとします。
other を self の前の隣接ノードとします。
つまり、親ノードが持つ子ノード列の self の前に
other を挿入します。
@param other 挿入するノード
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d
p a.to_s # =>... -
FrozenError
# receiver -> object (27388.0) -
self が発生した時のレシーバオブジェクトを返します。
self が発生した時のレシーバオブジェクトを返します。
@raise ArgumentError レシーバが設定されていない時に発生します。
//emlist[][ruby]{
begin
[1, 2, 3].freeze << 4
rescue FrozenError => err
p err.receiver # => [1, 2, 3]
end
//} -
REXML
:: Element # prefixes -> [String] (27388.0) -
self の文脈で定義されている prefix を文字列の配列を返します。
self の文脈で定義されている prefix を文字列の配列を返します。
対象の要素とその外側の要素で定義されている prefix を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns:x='1' xmlns:y='2'><b/><c xmlns:z='3'/></a>")
doc.elements['//b'].prefixes # => ["x", "y"]
//} -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (27388.0) -
self のデバッグ用の情報を含んだ文字列を返します。
self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//} -
RubyVM
:: AbstractSyntaxTree :: Node # last _ column -> Integer (27388.0) -
ソースコード中で、self を表すテキストが最後に現れる列番号を返します。
ソースコード中で、self を表すテキストが最後に現れる列番号を返します。
列番号は0-originで、バイト単位で表されます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.last_column # => 5
//} -
RubyVM
:: AbstractSyntaxTree :: Node # last _ lineno -> Integer (27388.0) -
ソースコード中で、self を表すテキストが最後に現れる行番号を返します。
ソースコード中で、self を表すテキストが最後に現れる行番号を返します。
行番号は1-originです。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.last_lineno # => 1
//} -
Struct
# deconstruct _ keys(array _ of _ names) -> Hash (27388.0) -
self のメンバの名前と値の組を Hash で返します。
self のメンバの名前と値の組を Hash で返します。
@param array_of_names 返り値に含めるメンバの名前の配列を指定します。nil の場合は全てのメンバを意味します。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
h = joe.deconstruct_keys([:zip, :address])
h # => {:zip=>12345, :address... -
Random
# rand -> Float (27358.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
Random
# rand(max) -> Integer | Float (27358.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
RubyVM
:: AbstractSyntaxTree :: Node # type -> Symbol (27088.0) -
self の種類を Symbol で返します。
self の種類を Symbol で返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.type # => :SCOPE
//} -
Hash
# merge!(*others) {|key , self _ val , other _ val| . . . } -> self (19204.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
String
# grapheme _ clusters {|grapheme _ cluster| block } -> self (19063.0) -
文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)
文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)
//emlist[例][ruby]{
"a\u0300".grapheme_clusters # => ["à"]
//}
ブロックが指定された場合は String#each_grapheme_cluster と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_grapheme_cluster -
String
# unicode _ normalize!(form = :nfc) -> self (19027.0) -
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し た文字列に置き換えます。
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し
た文字列に置き換えます。
(gsub!などと異なり)変換が行なわれなくても self を返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
//e... -
Enumerable
# reduce(init = self . first) {|result , item| . . . } -> object (19018.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
String
# delete _ prefix!(prefix) -> self | nil (19009.0) -
self の先頭から破壊的に prefix を削除します。
self の先頭から破壊的に prefix を削除します。
@param prefix 先頭から削除する文字列を指定します。
@return 削除した場合は self、変化しなかった場合は nil
//emlist[][ruby]{
"hello".delete_prefix!("hel") # => "lo"
"hello".delete_prefix!("llo") # => nil
//}
@see String#delete_prefix
@see String#delete_suffix!
@see String#start_with? -
Array
# permutation(n = self . length) { |p| block } -> self (19003.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (18958.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]... -
OptionParser
# summarize(to = [] , width = self . summary _ width , max = width - 1 , indent= self . summary _ indent) -> () (18952.0) -
サマリを指定された to へと加えていきます。
サマリを指定された to へと加えていきます。
ブロックが与えられた場合、サマリの各行を引数としてブロックを評価します。
この場合、ブロックの中で明示的に to へと加えていかない限り、
to にサマリが加えられることはありません。
@param to サマリを出力するオブジェクトを指定します。to には << メソッドが定義されいる必要があります。
@param width サマリの幅を整数で指定します。
@param max サマリの最大幅を整数で指定します。
@param indent サマリのインデントを文字列で指定します。
//emlist[例][ruby]{
requ... -
OptionParser
# summarize(to = [] , width = self . summary _ width , max = width - 1 , indent= self . summary _ indent) {|line| . . . } -> () (18952.0) -
サマリを指定された to へと加えていきます。
サマリを指定された to へと加えていきます。
ブロックが与えられた場合、サマリの各行を引数としてブロックを評価します。
この場合、ブロックの中で明示的に to へと加えていかない限り、
to にサマリが加えられることはありません。
@param to サマリを出力するオブジェクトを指定します。to には << メソッドが定義されいる必要があります。
@param width サマリの幅を整数で指定します。
@param max サマリの最大幅を整数で指定します。
@param indent サマリのインデントを文字列で指定します。
//emlist[例][ruby]{
requ... -
String
# each _ grapheme _ cluster {|grapheme _ cluster| block } -> self (18943.0) -
文字列の書記素クラスタに対して繰り返します。
文字列の書記素クラスタに対して繰り返します。
String#each_char と違って、
Unicode Standard Annex #29 (https://unicode.org/reports/tr29/)
で定義された書記素クラスタに対して繰り返します。
//emlist[例][ruby]{
"a\u0300".each_char.to_a.size # => 2
"a\u0300".each_grapheme_cluster.to_a.size # => 1
//}
@see String#grapheme_clusters -
Hash
# merge!(*others) -> self (18904.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
String
# parse _ csv(**options) -> [String] (18856.0) -
CSV.parse_line(self, options) と同様です。
...p "1,,3\n".parse_csv # => ["1", nil, "3"]
p "1,,3\n".parse_csv(nil_value: Float::NAN) # => ["1", NaN, "3"]
//}
Ruby 2.7 (CSV 3.1.2) から、次のオプションが使えるようになりました。
//emlist[][ruby]{
require 'csv'
p "Matz, Ruby\n".parse_csv... -
Hash
# merge(*others) {|key , self _ val , other _ val| . . . } -> Hash (18829.0) -
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。 デフォルト値はselfの設定のままです。
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@... -
Object
# trust -> self (18799.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#untaint と同じ動作をします。
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#untaint と同じ動作をします。
@see Object#untrusted?,Object#untrust -
Object
# untrust -> self (18799.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#taint と同じ動作をします。
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#taint と同じ動作をします。
@see Object#trust,Object#untrusted? -
Module
# prepend(*modules) -> self (18793.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
指定したモジュールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
継承チェイン上で、self のモジュール/クラスよりも「手前」に
追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
また、継承によってこの「上書き」を処理するため、prependの引数として
渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び... -
Module
# append _ features(module _ or _ class) -> self (18781.0) -
モジュール(あるいはクラス)に self の機能を追加します。
モジュール(あるいはクラス)に self の機能を追加します。
このメソッドは Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, s... -
Symbol
# to _ proc -> Proc (18778.0) -
self に対応する Proc オブジェクトを返します。
self に対応する Proc オブジェクトを返します。
生成される Proc オブジェクトを呼びだす(Proc#call)と、
Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
残りの引数を渡して呼びだします。
生成される Proc オブジェクトは lambda です。
//emlist[][ruby]{
:object_id.to_proc.lambda? # => true
//}
//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//}
//... -
String
# chars {|cstr| block } -> self (18763.0) -
文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)
文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)
//emlist[例][ruby]{
"hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]
//}
ブロックが指定された場合は String#each_char と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_char -
Numeric
# nonzero? -> self | nil (18745.0) -
自身がゼロの時 nil を返し、非ゼロの時 self を返します。
自身がゼロの時 nil を返し、非ゼロの時 self を返します。
//emlist[例][ruby]{
p 10.nonzero? #=> 10
p 0.nonzero? #=> nil
p 0.0.nonzero? #=> nil
p Rational(0, 2).nonzero? #=> nil
//}
非ゼロの時に self を返すため、自身が 0 の時に他の処理をさせたい場合に以
下のように記述する事もできます。
//emlist[例][ruby]{
a = %w( z Bb bB bb BB a... -
Array
# reject! {|x| . . . } -> self | nil (18742.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# sort! -> self (18742.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# sort! {|a , b| . . . } -> self (18742.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Pathname
# relative _ path _ from(base _ directory) -> Pathname (18742.0) -
base_directory から self への相対パスを求め、その内容の新しい Pathname オブジェクトを生成して返します。
base_directory から self への相対パスを求め、その内容の新しい Pathname
オブジェクトを生成して返します。
パス名の解決は文字列操作によって行われ、ファイルシステムをアクセス
しません。
self が相対パスなら base_directory も相対パス、self が絶対パスなら
base_directory も絶対パスでなければなりません。
@param base_directory ベースディレクトリを表す Pathname オブジェクトを指定します。
@raise ArgumentError Windows上でドライブが違うなど、base_direct... -
BigDecimal
# nonzero? -> self | nil (18739.0) -
self が 0 以外のときに self を返します。0 のときに nil を返します。
self が 0 以外のときに self を返します。0 のときに nil を返します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("0").nonzero? # => nil
BigDecimal("1").nonzero? # => 0.1e1
//} -
Hash
# filter! {|key , value| . . . } -> self | nil (18733.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Refinement
# import _ methods(*modules) -> self (18733.0) -
モジュールからメソッドをインポートします。
モジュールからメソッドをインポートします。
Module#includeと違って、import_methods はメソッドをコピーして
refinement に追加して、refinementでインポートしたメソッドを有効化します。
メソッドをコピーするため、Rubyコードで定義されたメソッドだけしか
インポートできないことに注意してください。
//emlist[][ruby]{
module StrUtils
def indent(level)
' ' * level + self
end
end
module M
refine String do
imp... -
BigDecimal
# floor -> Integer (18724.0) -
self 以下の最大整数を返します。
self 以下の最大整数を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").floor # => 1
BigDecimal("-1.23456").floor # => -2
//}
以下のように引数 n を与えることもできます。
n >= 0 なら、小数点以下 n + 1 位の数字を操作します
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます... -
Fiber
# raise(exception , message = nil , backtrace = nil) -> object (18724.0) -
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。
引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。
その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
この場合、2つ目の引数に例外... -
String
# unicode _ normalize(form = :nfc) -> String (18724.0) -
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し た文字列を返します。
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し
た文字列を返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
このメソッドでの "Unicode 文字列" とは、UTF-8、UTF-16BE/LE... -
Pathname
# children(with _ directory = true) -> [Pathname] (18706.0) -
self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。
self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。
ただし、 ".", ".." は要素に含まれません。
@param with_directory 偽を指定するとファイル名のみ返します。デフォルトは真です。
@raise Errno::EXXX self が存在しないパスであったりディレクトリでなければ例外が発生します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new("/tmp").children # => [#<Pathname:.X11-unix>, #<Pathname:.iroha_unix>... -
String
# unicode _ normalized?(form = :nfc) -> bool (18706.0) -
self が引数 form で指定された正規化形式で Unicode 正規化された文字列か どうかを返します。
self が引数 form で指定された正規化形式で Unicode 正規化された文字列か
どうかを返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
//emlist[例][ruby]{
"a\u0300".unicode_normalized? ... -
Array
# permutation(n = self . length) -> Enumerator (18703.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Array
# product(*lists) { |e| . . . } -> self (18697.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod... -
Array
# repeated _ combination(n) { |c| . . . } -> self (18697.0) -
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行 します。
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行
します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、
組み合わせを生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emli... -
Array
# repeated _ permutation(n) { |p| . . . } -> self (18697.0) -
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby... -
Hash
# compare _ by _ identity -> self (18697.0) -
ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。
ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。
デフォルトでは、キーのオブジェクトによっては内容が同じならキーが一致しているとみなされますが、より厳密に
Object#object_idが一致しているかどうかを条件とするようにselfを変更します。
selfが変化する破壊的メソッドです。
@return selfを返します。
//emlist[例][ruby]{
h1 = { "a" => 100, "b" => 200, :c => "c" }
p h1.compare_by_identity? #=> false
p h1["a"] #=... -
Module
# deprecate _ constant(*name) -> self (18697.0) -
name で指定した定数を deprecate に設定します。 deprecate に設定した定数を参照すると警告メッセージが表示されます。
name で指定した定数を deprecate に設定します。
deprecate に設定した定数を参照すると警告メッセージが表示されます。
Ruby 2.7.2 から Warning[:deprecated] のデフォルト値が false に変更になったため、
デフォルトでは警告が表示されません。
コマンドラインオプション(詳細はd:spec/rubycmd#cmd_option参照)で、
「-w」か「-W2」などを指定するか、実行中に「Warning[:deprecated] = true」で
変更すると表示されるようになります。
「$VERBOSE = true」は「Warnin... -
Object
# freeze -> self (18697.0) -
オブジェクトを凍結(内容の変更を禁止)します。
オブジェクトを凍結(内容の変更を禁止)します。
凍結されたオブジェクトの変更は
例外 FrozenError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#trace_var が使えます。
@return self を返します。
//emlist[][ruby]{
a1... -
String
# tr _ s!(pattern , replace) -> self | nil (18697.0) -
文字列の中に pattern 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
文字列の中に pattern 文字列に含まれる文字が存在したら、
replace 文字列の対応する文字に置き換えます。さらに、
置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
pattern の形式は tr(1) と同じです。
つまり「a-c」は a から c を意味し、
"^0-9" のように文字列の先頭が「^」の場合は指定した文字以外が置換の対象になります。
replace でも「-」を使って範囲を指定できます。
//emlist[][ruby]{
p "gooooogle".tr_s("a-z", "A-Z") # => "GOGLE"
//}
「... -
Array
# filter! {|item| block } -> self | nil (18694.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
変更があった場合は self を、
変更がなかった場合には nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject! -
Integer
# prime _ division(generator = Prime :: Generator23 . new) -> [[Integer , Integer]] (18694.0) -
自身を素因数分解した結果を返します。
自身を素因数分解した結果を返します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は self の素因数、第2要素は n**e が self を割り切る最大の自然数 e です。
@raise ZeroDivisionError self がゼロである場合に発生します。
@see Prime#prime_division
//emlist[例][ruby]{
require 'prime'
12.p... -
Array
# reverse! -> self (18691.0) -
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。
reverse! は自身を破壊的に並べ替えます。
reverse! は self を返します。
//emlist[例][ruby]{
a = ["a", 2, true]
p a.reverse #=> [true, 2, "a"]
p a #=> ["a", 2, true] (変化なし)
a = ["a", 2, true]
p a.reverse! #=> [true, 2, "a"]
p a #=> [true, ... -
Array
# to _ ary -> self (18691.0) -
self をそのまま返します。
self をそのまま返します。
//emlist[例][ruby]{
class SubArray < Array; end
ary1 = Array([1, 2, 3, 4])
ary2 = SubArray([1, 2, 3, 4])
ary1.to_ary # => [1, 2, 3, 4]
ary1.to_ary.class # => Array
ary2.to_ary # => [1, 2, 3, 4]
ary2.to_ary.class # => SubArray
//}
@see Array#to_a -
Set
# clear -> self (18691.0) -
集合の要素をすべて削除し、空にした後の self を返します。
集合の要素をすべて削除し、空にした後の self を返します。
//emlist[][ruby]{
require 'set'
p s = Set[10, 20, 30] # => #<Set: {10, 20, 30}>
s.clear
p s # => #<Set: {}>
//} -
String
# clear -> self (18691.0) -
文字列の内容を削除して空にします。 self を返します。
文字列の内容を削除して空にします。
self を返します。
//emlist[例][ruby]{
str = "abc"
str.clear
p str # => ""
str = ""
str.clear
p str # => ""
//} -
String
# insert(pos , other) -> self (18691.0) -
pos 番目の文字の直前に文字列 other を挿入します。 self[pos, 0] = other と同じ操作です。
pos 番目の文字の直前に文字列 other を挿入します。
self[pos, 0] = other と同じ操作です。
@param pos 文字列を挿入するインデックス
@param other 挿入する文字列
//emlist[例][ruby]{
str = "foobaz"
str.insert(3, "bar")
p str # => "foobarbaz"
//}
@see String#[]= -
Hash
# to _ proc -> Proc (18688.0) -
self のキーに対応する値を返す Proc オブジェクトを返します。
self のキーに対応する値を返す Proc オブジェクトを返します。
//emlist[][ruby]{
h = {1 => 10, 2 => 20, 3 => 30}
[1, 2, 3].map(&h) # => [10, 20, 30]
//} -
Method
# to _ proc -> Proc (18688.0) -
self を call する Proc オブジェクトを生成して返します。
self を call する Proc オブジェクトを生成して返します。
//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
pr = m.to_proc # => #<Proc:0x007f874d026008 (lambda)>
pr.call # => "foo"
//} -
IO
# reopen(path) -> self (18685.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO#pos, IO#lineno などはリセットされます。
@param path パスを表す文字列を指定します。
@param mode パスを開く際のモードを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
f1 = File.new("testfile"... -
IO
# reopen(path , mode) -> self (18685.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO#pos, IO#lineno などはリセットされます。
@param path パスを表す文字列を指定します。
@param mode パスを開く際のモードを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
f1 = File.new("testfile"... -
OptionParser
# order!(argv = self . default _ argv , into: nil) -> [String] (18682.0) -
与えられた argv を順番に破壊的にパースします。 argv からオプションがすべて取り除かれます。 argv を返します。
与えられた argv を順番に破壊的にパースします。
argv からオプションがすべて取り除かれます。
argv を返します。
オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
ブロックが与えられている場合は、パースを中断せずに
引数をブロックに渡してブロックを評価し、パースを継続します。argv を返します。
下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができません。
-b もコマンドのオプションではない引数として扱われてしまいます。
@param argv パースしたい引数を文字列の配列で指定... -
OptionParser
# order!(argv = self . default _ argv , into: nil) {|s| . . . } -> [String] (18682.0) -
与えられた argv を順番に破壊的にパースします。 argv からオプションがすべて取り除かれます。 argv を返します。
与えられた argv を順番に破壊的にパースします。
argv からオプションがすべて取り除かれます。
argv を返します。
オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
ブロックが与えられている場合は、パースを中断せずに
引数をブロックに渡してブロックを評価し、パースを継続します。argv を返します。
下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができません。
-b もコマンドのオプションではない引数として扱われてしまいます。
@param argv パースしたい引数を文字列の配列で指定... -
StringScanner
# clear -> self (18682.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
StringScanner
# terminate -> self (18682.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
Hash
# replace(other) -> self (18679.0) -
ハッシュの内容を other の内容で置き換えます。
ハッシュの内容を other の内容で置き換えます。
デフォルト値の設定もotherの内容になります。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
self = other.to_hash.dup と同じです。
@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return self を返します。
//emlist[例][ruby]{
foo = {1 => 'a', 2 => 'b'}
bar = {2 => 'B', 3 => 'C'}
foo.replace(b... -
Module
# remove _ method(*name) -> self (18679.0) -
インスタンスメソッド name をモジュールから削除します。
インスタンスメソッド name をモジュールから削除します。
Ruby 1.8.0 以降は複数のメソッド名を指定して一度に削除できます。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したメソッドが定義されていない場合に発生します。
//emlist[例][ruby]{
class C
def foo
end
remove_method :foo
remove_method :no_such_method # 例外 NameError が発生
end
//}
@see Module#... -
OptionParser
# permute!(argv = self . default _ argv , into: nil) -> [String] (18679.0) -
与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。
与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv を返します。
下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。
@param argv パースしたい引数を文字列の配列で指定します。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブ... -
Hash
# transform _ keys! -> Enumerator (18664.0) -
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。
値は変化しません。
@param hash 置き換え前のキーから置き換え後のキーへのハッシュを指定します。
@return transform_keys! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys! {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3... -
Hash
# transform _ keys! {|key| . . . } -> self (18664.0) -
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。
値は変化しません。
@param hash 置き換え前のキーから置き換え後のキーへのハッシュを指定します。
@return transform_keys! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys! {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3... -
Hash
# transform _ keys!(hash) -> self (18664.0) -
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。
値は変化しません。
@param hash 置き換え前のキーから置き換え後のキーへのハッシュを指定します。
@return transform_keys! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys! {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3... -
Module
# private _ class _ method(*name) -> self (18664.0) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を private に変更します。
@param name 0 個以上の String または Symbol を指定します。
@param names 0 個以上の String または Symbol を Array で指定します。
//emlist[例][ruby]{
module Foo
def self.foo; end
end
Foo.singleton_class.private_method_defined?(:foo) # => false
Foo.private_class_method(:f... -
Module
# private _ class _ method(names) -> self (18664.0) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を private に変更します。
@param name 0 個以上の String または Symbol を指定します。
@param names 0 個以上の String または Symbol を Array で指定します。
//emlist[例][ruby]{
module Foo
def self.foo; end
end
Foo.singleton_class.private_method_defined?(:foo) # => false
Foo.private_class_method(:f... -
Prime
:: PseudoPrimeGenerator # each _ with _ index {|prime , index| . . . } -> self (18664.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
Prime
:: PseudoPrimeGenerator # with _ index {|prime , index| . . . } -> self (18664.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind...