別のキーワード
ライブラリ
クラス
-
ARGF
. class (8) - Array (62)
- BasicObject (7)
- BigDecimal (17)
- Binding (3)
- CSV (1)
-
CSV
:: Row (2) -
CSV
:: Table (2) - Class (1)
- Complex (7)
- Date (1)
- Dir (10)
- Enumerator (2)
- Exception (4)
- Fiber (4)
- File (2)
-
File
:: Stat (1) - Float (4)
- FrozenError (1)
-
Gem
:: Version (4) - Hash (25)
- IO (28)
- Integer (46)
-
JSON
:: State (2) - MatchData (6)
- Matrix (22)
-
Matrix
:: LUPDecomposition (1) - Method (5)
- Module (26)
- Numeric (31)
- Object (18)
-
OpenSSL
:: BN (6) - OptionParser (20)
- Pathname (26)
-
Prime
:: PseudoPrimeGenerator (4) - Proc (2)
-
Psych
:: Stream (2) -
REXML
:: Attributes (3) -
REXML
:: Child (2) -
REXML
:: Element (5) -
Rake
:: FileList (6) - Random (2)
- Range (8)
- Rational (8)
- Refinement (1)
- Regexp (1)
-
Resolv
:: DNS :: Name (1) -
RubyVM
:: AbstractSyntaxTree :: Node (6) -
RubyVM
:: InstructionSequence (10) - Set (6)
- SignalException (2)
- String (127)
- StringIO (6)
- StringScanner (6)
- Struct (6)
- Symbol (4)
- Thread (3)
-
Thread
:: Backtrace :: Location (6) -
Thread
:: ConditionVariable (2) -
Thread
:: Mutex (1) -
Thread
:: SizedQueue (1) - ThreadGroup (1)
- Time (15)
- TracePoint (7)
- UnboundMethod (5)
- UncaughtThrowError (1)
- Vector (3)
-
WIN32OLE
_ TYPE (1)
モジュール
- Comparable (2)
- Enumerable (27)
-
OptionParser
:: Arguable (2)
キーワード
- ! (1)
- != (1)
- % (4)
- * (2)
- ** (1)
- + (2)
- +@ (2)
- -@ (3)
- < (2)
- << (2)
- <= (2)
- <=> (13)
- == (5)
- === (3)
- =~ (1)
- > (2)
- >= (2)
- [] (9)
- []= (8)
-
_ dump (1) - abbrev (1)
- abs (3)
- abs2 (1)
-
absolute
_ path (2) - add? (1)
-
add
_ namespace (2) - allbits? (1)
-
angle
_ with (1) - anybits? (1)
- ascend (1)
- atime (1)
- autoload (1)
- b (1)
-
backtrace
_ locations (2) -
base
_ label (2) - basename (1)
- between? (1)
- bind (1)
-
bind
_ call (2) - binmode (2)
- binread (1)
-
bit
_ length (1) - broadcast (1)
- bsearch (2)
-
bsearch
_ index (2) - bytes (2)
- capitalize! (1)
- casecmp (1)
- casecmp? (1)
- cause (1)
- ceil (3)
- center (1)
- chars (2)
- children (3)
- chomp (1)
- chomp! (1)
- chop! (1)
- chown (1)
- chr (3)
-
chunk
_ while (1) - clamp (1)
-
class
_ eval (1) - clear (2)
-
clear
_ bit! (1) -
clear
_ exclude (1) - clone (1)
- close (2)
- closed? (1)
- codepoints (2)
- coerce (5)
- collect! (4)
- column (2)
- combination (2)
- compact! (2)
-
compare
_ by _ identity (1) - concat (3)
- configure (1)
- conj (1)
- conjugate (1)
- count (1)
- covector (1)
- crypt (1)
- ctime (1)
- curry (1)
- default (2)
-
default
_ event _ sources (1) -
define
_ singleton _ method (2) -
defined
_ class (1) - delete (3)
- delete! (1)
- delete? (1)
-
delete
_ if (8) -
delete
_ prefix! (1) -
delete
_ suffix! (1) - descend (1)
- difference (1)
- dig (3)
- digits (2)
- dirname (1)
- disable (2)
- disasm (1)
- disassemble (1)
- disjoint? (1)
- display (1)
- div (1)
- divmod (3)
- downcase! (1)
- downto (2)
- dup (1)
- each (16)
-
each
_ byte (6) -
each
_ char (4) -
each
_ child (4) -
each
_ codepoint (6) -
each
_ cons (1) -
each
_ entry (1) -
each
_ filename (1) -
each
_ grapheme _ cluster (2) -
each
_ index (2) -
each
_ line (12) -
each
_ pair (4) -
each
_ slice (2) -
each
_ with _ index (6) - eigen (1)
- eigensystem (1)
- enable (2)
- encode (3)
- encode! (2)
-
end
_ with? (2) - entries (2)
-
enum
_ for (2) - eql? (2)
- equal? (1)
- eval (2)
- exception (2)
- existing! (1)
- fdiv (3)
- fileno (1)
- fill (6)
- filter! (4)
- finite? (1)
-
first
_ column (1) -
first
_ lineno (2) - flatten (1)
- flatten! (2)
- floor (3)
- flush (1)
-
force
_ encoding (1) - friday? (1)
- gcd (1)
- gcdlcm (1)
- getbyte (1)
- getc (1)
- gmt? (1)
- gmtime (1)
-
grapheme
_ clusters (2) - gsub! (5)
- hash (3)
- hex (1)
- hstack (1)
- import (1)
-
import
_ methods (1) - include (1)
- include? (1)
- included (1)
-
included
_ modules (1) - infinite? (1)
- inherited (1)
-
initialize
_ copy (1) - inject (3)
- insert (2)
- inspect (11)
-
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) - iseuc (1)
- itself (1)
-
keep
_ if (4) - label (2)
-
last
_ column (1) -
last
_ lineno (1) - lcm (1)
- length (1)
- lineno (1)
- lines (2)
- list (1)
- ljust (1)
- localtime (2)
- lshift! (1)
- lstrip! (1)
- lup (1)
-
lup
_ decomposition (1) - magnitude (2)
- map! (4)
-
mask
_ bits! (1) - match (2)
- match? (1)
-
max
_ by (4) - merge (1)
- minor (2)
-
mod
_ inverse (1) -
module
_ eval (1) - modulo (2)
- monday? (1)
- mountpoint? (1)
- name= (1)
- names (1)
- namespace (1)
- namespaces (2)
- negative? (3)
- next (2)
- next! (1)
-
next
_ sibling= (1) - nobits? (1)
- nonzero? (2)
- offset (2)
- on (12)
-
on
_ head (1) -
on
_ tail (1) - ord (1)
- order! (2)
- parse! (1)
-
parse
_ csv (1) - partition (1)
- path (3)
- permutation (2)
- permute! (1)
- polar (1)
- pos= (1)
- positive? (3)
- pow (2)
- pred (1)
- prefixes (2)
- prerelease? (1)
-
pretty
_ print (1) -
previous
_ sibling= (1) -
prime
_ division (1) -
private
_ class _ method (2) -
private
_ constant (1) - product (2)
- public (4)
-
public
_ class _ method (2) -
public
_ constant (1) -
public
_ instance _ method (1) - putc (1)
- quo (1)
- raise (3)
- rand (2)
- rationalize (1)
- readlines (1)
- realpath (2)
- receiver (2)
- rect (1)
- rectangular (1)
- reduce (3)
- reject (2)
- reject! (5)
- relative? (1)
-
relative
_ path _ from (1) - release (1)
- remainder (3)
- reopen (3)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (1)
- reset (1)
- resolve (1)
- resume (1)
- reverse! (1)
-
reverse
_ each (1) - rewind (2)
- rindex (1)
- rjust (1)
- round (1)
- row (2)
- rpartition (1)
- rshift! (1)
- rstrip! (1)
- sample (2)
- saturday? (1)
- scan (2)
- scrub (3)
- scrub! (3)
- seek (1)
- select! (4)
-
set
_ bit! (1) - shift (1)
- signal (1)
- signm (1)
- signo (1)
-
singleton
_ class? (1) -
singleton
_ methods (1) - size (2)
- skip (1)
- slice (6)
-
slice
_ when (1) - solve (1)
- sort (2)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (1) -
source
_ location (1) - split (3)
- squeeze! (1)
- start (2)
-
start
_ with? (2) - step (11)
- strip! (1)
- sub! (4)
-
subdomain
_ of? (1) - succ (2)
- succ! (1)
- sum (2)
- summarize (2)
- sunday? (1)
-
super
_ method (1) - swapcase! (1)
- synchronize (1)
- taint (1)
- terminate (1)
- thursday? (1)
- times (2)
-
to
_ a (2) -
to
_ bn (1) -
to
_ c (2) -
to
_ csv (1) -
to
_ enum (2) -
to
_ f (1) -
to
_ h (2) -
to
_ i (1) -
to
_ int (2) -
to
_ path (1) -
to
_ proc (1) -
to
_ s (10) -
to
_ str (1) -
tr
_ s! (1) -
transform
_ keys! (3) -
transform
_ values! (2) - truncate (1)
- tuesday? (1)
- unbind (1)
- undump (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - union (1)
- uniq (4)
- uniq! (2)
- unlink (1)
- unscan (1)
- unshift (1)
- untaint (1)
- upcase! (1)
- upto (3)
- using (1)
- utc (1)
- utc? (1)
- vstack (1)
- wait (1)
-
wait
_ readable (1) - wednesday? (1)
-
with
_ index (2) -
yield
_ self (2) - zero? (1)
- zip (4)
- ~ (1)
検索結果
先頭5件
-
TracePoint
# self -> object (63343.0) -
イベントを発生させたオブジェクトを返します。
イベントを発生させたオブジェクトを返します。
以下のようにする事で同じ値を取得できます。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding -
Numeric
# i -> Complex (54517.0) -
Complex(0, self) を返します。
Complex(0, self) を返します。
ただし、Complex オブジェクトでは利用できません。
//emlist[例][ruby]{
10.i # => (0+10i)
-10.i # => (0-10i)
(0.1).i # => (0+0.1i)
Rational(1, 2).i # => (0+(1/2)*i)
//} -
Object
# define _ singleton _ method(symbol) { . . . } -> Symbol (36778.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# define _ singleton _ method(symbol , method) -> Symbol (36778.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# itself -> object (36670.0) -
self を返します。
self を返します。
//emlist[][ruby]{
string = 'my string' # => "my string"
string.itself.object_id == string.object_id # => true
//} -
RubyVM
:: InstructionSequence # inspect -> String (36670.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 # first _ lineno -> Integer (36352.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 -
String
# lines(rs = $ / , chomp: false) {|line| . . . } -> self (28027.0) -
文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)
文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)
//emlist[][ruby]{
"aa\nbb\ncc\n".lines # => ["aa\n", "bb\n", "cc\n"]
//}
行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指
定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するとこ
ろで文字列を分割します (つまり空行で分割します)。
... -
String
# codepoints {|codepoint| block } -> self (28009.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (27961.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して... -
String
# each _ codepoint {|codepoint| block } -> self (27925.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (27925.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@param chomp true を指定すると各行の末尾から rs を取り除きます。
//emlist[例][ruby]{
"aa\nbb\ncc\n".each_... -
String
# force _ encoding(encoding) -> self (27925.0) -
文字列の持つエンコーディング情報を指定された encoding に変えます。
文字列の持つエンコーディング情報を指定された encoding に変えます。
このとき実際のエンコーディングは変換されず、検査もされません。
Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。
@param encoding 変更するエンコーディング情報を表す文字列か Encoding オブジェクトを指定します。
//emlist[例][ruby]{
s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding #=> ASC... -
String
# lines(rs = $ / , chomp: false) -> [String] (27727.0) -
文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)
文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)
//emlist[][ruby]{
"aa\nbb\ncc\n".lines # => ["aa\n", "bb\n", "cc\n"]
//}
行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指
定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するとこ
ろで文字列を分割します (つまり空行で分割します)。
... -
String
# codepoints -> [Integer] (27709.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
Exception
# exception -> self (27673.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
# ... # 何か処理
rescue => e
raise e.exception("an error occurs during hogeho... -
Exception
# exception(error _ message) -> Exception (27673.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
# ... # 何か処理
rescue => e
raise e.exception("an error occurs during hogeho... -
String
# insert(pos , other) -> self (27673.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#[]= -
Numeric
# infinite? -> nil (27670.0) -
常に nil を返します。 自身が Float かComplex、もしくはそのサブクラスのインスタンスの場合は、self の絶対値が負の無限大の場合に-1を、正の無限大の場合に1を、有限値の場合に nil を返します。
常に nil を返します。
自身が Float かComplex、もしくはそのサブクラスのインスタンスの場合は、self の絶対値が負の無限大の場合に-1を、正の無限大の場合に1を、有限値の場合に nil を返します。
//emlist[例][ruby]{
10.infinite? # => nil
(3r).infinite? # => nil
//}
@see Numeric#finite?、Float#infinite?、Complex#infinite? -
OptionParser
:: Arguable # options -> OptionParser (27670.0) -
自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。
自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。
//emlist[][ruby]{
require 'optparse'
o = nil
ARG... -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (27670.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 _ lineno -> Integer (27670.0) -
ソースコード中で、self を表すテキストが最後に現れる行番号を返します。
ソースコード中で、self を表すテキストが最後に現れる行番号を返します。
行番号は1-originです。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.last_lineno # => 1
//} -
TracePoint
# inspect -> String (27670.0) -
self の状態を人間に読みやすい文字列にして返します。
self の状態を人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.inspect # "#<TracePoint:call `foo'@/path/to/test.rb:1>"
end
trace.enable
foo 1
//} -
Prime
:: PseudoPrimeGenerator # each _ with _ index {|prime , index| . . . } -> self (27646.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 (27646.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... -
Rational
# rationalize(eps = 0) -> Rational (27640.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)
//} -
Time
# gmtime -> self (27628.0) -
タイムゾーンを協定世界時に設定します。
タイムゾーンを協定世界時に設定します。
このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
なる場合があります。システムを越えて Time オブジェクトを受け
渡す場合には注意する必要があります。
//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1)... -
Time
# localtime -> self (27628.0) -
タイムゾーンを地方時に設定します。
タイムゾーンを地方時に設定します。
このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス... -
Time
# localtime(utc _ offset) -> self (27628.0) -
タイムゾーンを地方時に設定します。
タイムゾーンを地方時に設定します。
このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス... -
Binding
# source _ location -> [String , Integer] (27418.0) -
self の Ruby のソースファイル名と行番号を返します。
self の Ruby のソースファイル名と行番号を返します。
d:spec/variables#pseudo の __FILE__ と __LINE__ も参照してください。
//emlist[例][ruby]{
p binding.source_location # => ["test.rb", 1]
//} -
Integer
# remainder(other) -> Numeric (27406.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
r の符号は self と同じになります。
@param other self を割る数。
//emlist[][ruby]{
5.remainder(3) # => 2
-5.remainder(3) # => -2
5.remainder(-3) # => 2
-5.remainder(-3) # => -2
-1234567890987654321.remainder(13731) # => -6966
-1234567890987654321.remainder(13731.24) #... -
TracePoint
# defined _ class -> Class | module (27394.0) -
メソッドを定義したクラスかモジュールを返します。
メソッドを定義したクラスかモジュールを返します。
//emlist[例][ruby]{
class C; def foo; end; end
trace = TracePoint.new(:call) do |tp|
p tp.defined_class # => C
end.enable do
C.new.foo
end
//}
メソッドがモジュールで定義されていた場合も(include に関係なく)モジュー
ルを返します。
//emlist[例][ruby]{
module M; def foo; end; end
class C; include M; end;
trac... -
Binding
# receiver -> object (27388.0) -
保持するコンテキスト内での self を返します。
保持するコンテキスト内での self を返します。
このメソッドは以下のコードと同様の動作をします。
//emlist[][ruby]{
binding.eval("self")
//} -
OptionParser
:: Arguable # options {|opt| . . . } -> object | nil (27370.0) -
自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。
自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。
//emlist[][ruby]{
require 'optparse'
o = nil
ARG... -
RubyVM
:: AbstractSyntaxTree :: Node # children -> Array (27370.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 (27370.0) -
ソースコード中で、self を表すテキストが最初に現れる列番号を返します。
ソースコード中で、self を表すテキストが最初に現れる列番号を返します。
列番号は0-originで、バイト単位で表されます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.first_column # => 0
//} -
RubyVM
:: AbstractSyntaxTree :: Node # first _ lineno -> Integer (27370.0) -
ソースコード中で、self を表すテキストが最初に現れる行番号を返します。
ソースコード中で、self を表すテキストが最初に現れる行番号を返します。
行番号は1-originです。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.first_lineno # => 1
//} -
SignalException
# signm -> String (27370.0) -
self.message のエイリアスです。
self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//} -
SignalException
# signo -> Integer (27370.0) -
self のシグナル番号を返します。
self のシグナル番号を返します。
//emlist[例][ruby]{
p Signal.signame(1) # => "HUP"
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
p e.signo # => 1
end
//} -
RubyVM
:: InstructionSequence # disasm -> String (27352.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 (27352.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
Prime
:: PseudoPrimeGenerator # each _ with _ index -> Enumerator (27346.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 -> Enumerator (27346.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... -
String
# each _ codepoint -> Enumerator (27325.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ line(rs = $ / , chomp: false) -> Enumerator (27325.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@param chomp true を指定すると各行の末尾から rs を取り除きます。
//emlist[例][ruby]{
"aa\nbb\ncc\n".each_... -
String
# split(sep = $ ; , limit = 0) {|s| . . . } -> self (19123.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
Hash
# filter! {|key , value| . . . } -> self | nil (19051.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!... -
Array
# fill(start , length = nil) {|index| . . . } -> self (19033.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
Array
# fill(val , start , length = nil) -> self (19033.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
String
# delete _ prefix!(prefix) -> self | nil (18991.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? -
String
# delete _ suffix!(suffix) -> self | nil (18991.0) -
self の末尾から破壊的に suffix を削除します。
self の末尾から破壊的に suffix を削除します。
@param suffix 末尾から削除する文字列を指定します。
@return 削除した場合は self、変化しなかった場合は nil
//emlist[][ruby]{
"hello".delete_suffix!("llo") # => "he"
"hello".delete_suffix!("hel") # => nil
//}
@see String#chomp!
@see String#chop!
@see String#delete_prefix!
@see String#delete_suffix
@see S... -
OptionParser
# summarize(to = [] , width = self . summary _ width , max = width - 1 , indent= self . summary _ indent) -> () (18988.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| . . . } -> () (18988.0) -
サマリを指定された to へと加えていきます。
サマリを指定された to へと加えていきます。
ブロックが与えられた場合、サマリの各行を引数としてブロックを評価します。
この場合、ブロックの中で明示的に to へと加えていかない限り、
to にサマリが加えられることはありません。
@param to サマリを出力するオブジェクトを指定します。to には << メソッドが定義されいる必要があります。
@param width サマリの幅を整数で指定します。
@param max サマリの最大幅を整数で指定します。
@param indent サマリのインデントを文字列で指定します。
//emlist[例][ruby]{
requ... -
Enumerable
# inject(init = self . first) {|result , item| . . . } -> object (18982.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Enumerable
# each _ with _ index(*args) {|item , index| . . . } -> self (18979.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
#... -
Array
# filter! {|item| block } -> self | nil (18976.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! -
IO
# each _ line(limit , chomp: false) {|line| . . . } -> self (18976.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)... -
IO
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (18976.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)... -
IO
# each _ line(rs , limit , chomp: false) {|line| . . . } -> self (18976.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)... -
Array
# permutation(n = self . length) { |p| block } -> self (18967.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
StringIO
# each _ line(rs = $ / ) {|line| . . . } -> self (18928.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
Array
# each _ index {|index| . . . . } -> self (18925.0) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
//emlist[例][ruby]{
(0 ... ary.size).each do |index|
# ....
end
//}
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。
@see Array#each, Array#reverse_each -
String
# split(sep = $ ; , limit = 0) -> [String] (18823.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
Hash
# delete _ if {|key , value| . . . } -> self (18820.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (18820.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。
inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 継承した特異メソッドを含める場合は... -
Object
# yield _ self -> Enumerator (18802.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
# yield _ self {|x| . . . } -> object (18802.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).
... -
Array
# delete _ if {|x| . . . } -> self (18760.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... -
Hash
# keep _ if {|key , value| . . . } -> self (18751.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!... -
Object
# taint -> self (18751.0) -
何もせずに self を返します。 このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
何もせずに self を返します。
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
@see Object#tainted?,Object#untaint,Object#freeze -
Integer
# times {|n| . . . } -> self (18739.0) -
self 回だけ繰り返します。 self が正の整数でない場合は何もしません。
self 回だけ繰り返します。
self が正の整数でない場合は何もしません。
またブロックパラメータには 0 から self - 1 までの数値が渡されます。
//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}
@see Integer#upto, Integer#downto,... -
Numeric
# to _ int -> Integer (18736.0) -
self.to_i と同じです。
self.to_i と同じです。
//emlist[例][ruby]{
(2+0i).to_int # => 2
Rational(3).to_int # => 3
//} -
Array
# fill(range) {|index| . . . } -> self (18733.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
Array
# fill(val , range) -> self (18733.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
IO
# wait(timeout = nil) -> bool | self | nil (18730.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。
より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。
つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。
timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし... -
IO
# wait _ readable(timeout = nil) -> bool | self | nil (18730.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。
より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。
つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。
timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし... -
Pathname
# each _ line(*args) {|line| . . . } -> nil (18724.0) -
IO.foreach(self.to_s, *args, &block) と同じです。
IO.foreach(self.to_s, *args, &block) と同じです。
//emlist[例][ruby]{
require "pathname"
IO.write("testfile", "line1\nline2,\nline3\n")
Pathname("testfile").each_line
# => #<Enumerator: IO:foreach("testfile")>
//}
//emlist[例 ブロックを指定][ruby]{
require "pathname"
IO.write("testfile", "line1\nline2,\nline3\... -
String
# unicode _ normalize!(form = :nfc) -> self (18709.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... -
Integer
# to _ i -> self (18697.0) -
self を返します。
self を返します。
//emlist[][ruby]{
10.to_i # => 10
//} -
Integer
# to _ int -> self (18697.0) -
self を返します。
self を返します。
//emlist[][ruby]{
10.to_i # => 10
//} -
Array
# uniq! -> self | nil (18694.0) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。
uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。
取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。
//emlist[例][ruby]{
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
//}
ブロックが与えられた場合、ブロックが返した... -
Array
# uniq! {|item| . . . } -> self | nil (18694.0) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。
uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。
取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。
//emlist[例][ruby]{
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
//}
ブロックが与えられた場合、ブロックが返した... -
ARGF
. class # binmode -> self (18691.0) -
self をバイナリモードにします。一度バイナリモードになった後は非バイナリ モードに戻る事はできません。
self をバイナリモードにします。一度バイナリモードになった後は非バイナリ
モードに戻る事はできません。
バイナリモード下では以下のように動作します。
* 改行の変換を停止する
* 文字エンコーディングの変換を停止する
* 内容を ASCII-8BIT として扱う
例:
# test1.png - 164B
# test2.png - 128B
# test1.png + test2.png = 292B
# $ ruby test.rb test1.png test2.png
ARGF.binmode
ARGF.read.size # => 29... -
Object
# untaint -> self (18691.0) -
何もせずに self を返します。
何もせずに self を返します。
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
@see Object#taint,Object#tainted? -
Array
# bsearch _ index { |x| . . . } -> Integer | nil (18688.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を
二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
を返します。self はあらかじめソートしておく必要があります。
本メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照してください。
//emlist[例: find-minimum モード][ruby]{
ary = [0,... -
Method
# inspect -> String (18688.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
以下の形式の文字列を返します。
#<Method: klass1(klass2)#method(arg) foo.rb:2> (形式1)
klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。
klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。
arg は引数を表します。
「foo.rb:2」は Method#... -
Proc
# inspect -> String (18688.0) -
self の文字列表現を返します。
self の文字列表現を返します。
可能なら self を生成したソースファイル名、行番号を含みます。
//emlist[例][ruby]{
p Proc.new {
true
}.to_s
# => "#<Proc:0x0x401a880c@-:3>"
//} -
Enumerable
# inject(init , sym) -> object (18682.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Array
# keep _ if {|item| . . . } -> self (18679.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
//}
keep_if は常に self を返しますが、Array#select! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /... -
Hash
# compare _ by _ identity -> self (18679.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"] #=... -
OptionParser
# on _ tail(*arg , &block) -> self (18679.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... -
Refinement
# import _ methods(*modules) -> self (18679.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... -
Integer
# prime _ division(generator = Prime :: Generator23 . new) -> [[Integer , Integer]] (18676.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... -
ARGF
. class # each _ codepoint { |c| . . . } -> self (18673.0) -
self の各コードポイントに対して繰り返しブロックを呼びだします。
self の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
例:
# $ echo "line1\n" > test1.txt
# $ echo "line2\n" > test2.txt
# $ ruby test.rb test1.txt test2.txt
# test.rb
ARGF.each_codepoint # => #<Enumerator: ARGF:each_codepoint>
... -
ARGF
. class # skip -> self (18673.0) -
現在開いている処理対象のファイルをクローズします。 次回の読み込みは次の引数が処理対象になります。 self を返します。
現在開いている処理対象のファイルをクローズします。
次回の読み込みは次の引数が処理対象になります。
self を返します。
$ echo "foo" > foo
$ echo "bar" > bar
$ ruby argf.rb foo bar
ARGF.filename # => "foo"
ARGF.skip
ARGF.filename # => "bar" -
Dir
# inspect -> String (18670.0) -
self の情報を人間に読みやすい文字列にして返します。
self の情報を人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
Dir.open("/") { |d| d.inspect } # => "#<Dir:/>"
//} -
Exception
# inspect -> String (18670.0) -
self のクラス名と message を文字列にして返します。
self のクラス名と message を文字列にして返します。
//emlist[例][ruby]{
begin
raise "exception"
rescue
p $!.inspect # => "#<RuntimeError: exception>"
end
//} -
MatchData
# inspect -> String (18670.0) -
self の内容を人間に読みやすい文字列にして返します。
self の内容を人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
puts /.$/.match("foo").inspect
# => #<MatchData "o">
puts /(.)(.)(.)/.match("foo").inspect
# => #<MatchData "foo" 1:"f" 2:"o" 3:"o">
puts /(.)(.)?(.)/.match("fo").inspect
# => #<MatchData "fo" 1:"f" 2:nil 3:"o">
puts /(?<foo>.)(?<bar>.)(?<baz>.)/.... -
Pathname
# atime -> Time (18670.0) -
File.atime(self.to_s) を渡したものと同じです。
File.atime(self.to_s) を渡したものと同じです。
//emlist[例][ruby]{
require "pathname"
pathname = Pathname("testfile")
pathname.atime # => 2018-12-18 20:58:13 +0900
//}
@see File.atime -
Pathname
# binread(*args) -> String | nil (18670.0) -
IO.binread(self.to_s, *args)と同じです。
IO.binread(self.to_s, *args)と同じです。
//emlist[例][ruby]{
require "pathname"
pathname = Pathname("testfile")
pathname.binread # => "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
pathname.binread(20) # => "This is line one\nThi"
pathname.binread(20, 10) # => ...