別のキーワード
クラス
-
ARGF
. class (3) - Array (198)
- Binding (4)
- Complex (1)
- Data (9)
- Dir (7)
- Encoding (1)
-
Encoding
:: Converter (8) -
Encoding
:: InvalidByteSequenceError (2) - Enumerator (12)
-
Enumerator
:: Lazy (36) -
Enumerator
:: Yielder (3) - Fiber (1)
- File (3)
-
File
:: Stat (4) - Hash (54)
- IO (12)
- Integer (2)
- KeyError (4)
- MatchData (5)
- Method (6)
- Module (24)
- NilClass (1)
- Numeric (8)
- Object (22)
-
ObjectSpace
:: WeakMap (1) - Proc (6)
- Random (4)
- Range (5)
- Rational (1)
- Regexp (1)
- RubyVM (3)
-
RubyVM
:: AbstractSyntaxTree :: Node (7) -
RubyVM
:: InstructionSequence (21) - Set (4)
- String (22)
- Struct (9)
- Symbol (9)
- SystemCallError (1)
- Thread (4)
-
Thread
:: Mutex (2) -
Thread
:: Queue (1) - Time (29)
- TracePoint (4)
- UnboundMethod (3)
モジュール
- Enumerable (46)
- FileTest (4)
- GC (3)
- Kernel (17)
- Math (2)
- ObjectSpace (2)
-
RubyVM
:: AbstractSyntaxTree (6) -
RubyVM
:: MJIT (3) - Warning (1)
オブジェクト
- ENV (14)
キーワード
- & (1)
- * (2)
- + (1)
- - (1)
- << (2)
- <=> (2)
- == (1)
- === (1)
- ARGV (1)
- AbstractSyntaxTree (1)
- Array (2)
- CompatibilityError (1)
-
DEFAULT
_ PARAMS (1) -
INSTRUCTION
_ NAMES (1) - InstructionSequence (1)
- InvalidByteSequenceError (1)
- KeyError (1)
- Lazy (1)
- MJIT (1)
- Node (1)
- Numeric (1)
- OPTS (1)
-
RUBY
_ COPYRIGHT (1) -
RUBY
_ DESCRIPTION (1) -
RUBY
_ ENGINE (1) -
RUBY
_ ENGINE _ VERSION (1) -
RUBY
_ PATCHLEVEL (1) -
RUBY
_ PLATFORM (1) -
RUBY
_ RELEASE _ DATE (1) -
RUBY
_ REVISION (1) -
RUBY
_ VERSION (1) - Rational (1)
- RubyVM (1)
- Symbol (1)
- SystemCallError (1)
- SystemExit (1)
- [] (11)
- []= (6)
-
_ _ callee _ _ (1) -
_ _ method _ _ (1) -
absolute
_ path (1) -
alias
_ method (1) - all? (3)
-
all
_ symbols (1) - any? (6)
- anybits? (1)
- append (1)
- argv (1)
- arity (3)
- assoc (2)
- at (1)
- atan2 (1)
- attr (3)
-
attr
_ accessor (1) -
attr
_ reader (1) -
attr
_ writer (1) -
base
_ label (1) - basename (1)
- bsearch (4)
-
bsearch
_ index (2) - byteindex (1)
- byteoffset (2)
- byterindex (1)
- bytes (4)
- bytesize (1)
- byteslice (3)
-
callee
_ id (1) - casecmp (1)
- casecmp? (1)
- children (1)
- chunk (2)
-
class
_ variables (1) - classify (1)
- clear (1)
- clone (1)
- coerce (2)
- collect (3)
- collect! (2)
-
collect
_ concat (2) - combination (2)
- compact (2)
- compact! (1)
-
compare
_ by _ identity (1) -
compare
_ by _ identity? (1) - compile (1)
-
compile
_ file (1) -
compile
_ option (1) -
compile
_ option= (1) - concat (2)
- constants (2)
- convpath (1)
-
copy
_ stream (2) - count (3)
- crypt (1)
- curry (4)
- cycle (4)
- day (1)
-
deconstruct
_ keys (4) - default (1)
- define (2)
-
define
_ finalizer (2) -
define
_ method (2) -
define
_ singleton _ method (2) - delete (6)
-
delete
_ at (1) -
delete
_ if (4) - difference (1)
- dig (3)
- directory? (1)
- disasm (2)
- disassemble (2)
- display (1)
- drop (3)
-
drop
_ while (4) - dummy? (1)
- dup (1)
- each (8)
-
each
_ byte (4) -
each
_ entry (2) -
each
_ index (2) -
each
_ key (4) -
each
_ pair (2) - eager (1)
- empty? (7)
- enabled? (1)
-
end
_ with? (1) - entries (2)
-
enum
_ for (2) - eql? (1)
-
error
_ bytes (1) - eval (1)
- event (1)
- except (2)
- fail (1)
- fdatasync (1)
- fetch (6)
-
fetch
_ values (2) - fill (6)
- filter (4)
- filter! (3)
-
filter
_ map (1) -
find
_ all (1) -
find
_ index (3) - first (3)
-
first
_ column (1) -
first
_ lineno (2) -
flat
_ map (2) - flatten (2)
- flatten! (1)
- force (1)
- foreach (2)
- friday? (1)
- ftype (2)
- getbyte (2)
- getgm (1)
- getutc (1)
-
global
_ variables (1) - gm (2)
- grep (1)
-
grep
_ v (1) -
group
_ by (2) -
has
_ key? (1) - hash (1)
- hypot (1)
- imaginary (2)
- include? (2)
-
incomplete
_ input? (1) - index (3)
-
initialize
_ copy (1) - inject (2)
- insert (1)
- inspect (4)
-
instance
_ methods (1) -
instance
_ variables (1) -
instruction
_ sequence (1) - intern (1)
- intersect? (1)
- intersection (1)
- isatty (1)
- join (1)
-
keep
_ if (3) - key (1)
- key? (2)
- keys (1)
-
keyword
_ init? (1) - label (1)
- last (2)
-
last
_ column (1) -
last
_ lineno (1) -
latest
_ gc _ info (1) - lazy (2)
- length (1)
-
load
_ from _ binary (1) -
load
_ from _ binary _ extra _ data (1) - local (2)
-
local
_ variable _ defined? (1) -
local
_ variable _ get (1) -
local
_ variable _ set (1) -
local
_ variables (2) - loop (2)
- map (3)
- map! (2)
-
marshal
_ dump (1) -
marshal
_ load (1) - match? (1)
- max (8)
-
max
_ by (4) - mday (1)
- member? (1)
- members (4)
- merge (1)
- merge! (1)
-
method
_ id (1) - methods (1)
- min (8)
-
min
_ by (4) - minmax (2)
-
minmax
_ by (2) - mktime (2)
-
module
_ function (2) - monday? (1)
- name (3)
-
named
_ captures (1) - names (1)
- new (21)
-
next
_ values (1) - none? (3)
- of (3)
- one? (3)
- open (2)
-
original
_ name (2) - p (1)
- pack (2)
- parameters (2)
- parse (2)
-
parse
_ file (2) - path (1)
- pause (1)
-
peek
_ values (1) - permutation (2)
- pop (2)
- prepend (2)
-
primitive
_ convert (4) -
primitive
_ errinfo (1) - priority (1)
- priority= (1)
- private (3)
-
private
_ instance _ methods (1) - product (2)
- public (3)
- push (1)
- putback (1)
- raise (1)
- rassoc (2)
- readbyte (2)
- reduce (2)
- reject (5)
- reject! (4)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (1)
-
respond
_ to _ missing? (1) - resume (1)
- reverse (1)
- reverse! (1)
-
reverse
_ each (2) - rindex (3)
- rotate (1)
- rotate! (1)
-
ruby2
_ keywords (2) -
ruby2
_ keywords _ hash? (1) - sample (4)
- saturday? (1)
- scrub (1)
- scrub! (1)
-
search
_ convpath (1) - select (4)
- select! (3)
-
set
_ encoding _ by _ bom (1) - setbyte (1)
- shift (2)
- shuffle (2)
- shuffle! (2)
-
singleton
_ methods (1) - size (3)
- slice (5)
- slice! (3)
-
slice
_ after (2) -
slice
_ before (3) -
slice
_ when (1) - sort (2)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) -
start
_ with? (1) - stat (2)
- step (6)
- sticky? (2)
- store (2)
- strftime (1)
- sum (2)
- sunday? (1)
- symlink (1)
- symlink? (2)
- sync (1)
- synchronize (1)
- syscall (1)
- sysopen (1)
- system (4)
- syswrite (1)
- take (3)
-
take
_ while (5) - tally (2)
-
thread
_ variable _ set (1) - thursday? (1)
-
to
_ a (8) -
to
_ ary (2) -
to
_ binary (1) -
to
_ enum (2) -
to
_ h (3) -
to
_ proc (2) -
to
_ s (2) -
to
_ sym (1) -
transform
_ keys (3) -
transform
_ keys! (3) - transpose (1)
-
try
_ convert (5) -
try
_ lock (1) - tty? (1)
- tuesday? (1)
- type (1)
- union (1)
- uniq (4)
- uniq! (2)
- unpack (1)
- unshift (1)
- update (1)
- utc (2)
-
values
_ at (2) - warn (2)
- wday (1)
- wednesday? (1)
-
with
_ index (4) -
with
_ object (2) - yday (1)
- year (1)
- yield (3)
-
yield
_ self (2) - zero? (1)
- zip (4)
- | (1)
検索結果
先頭5件
-
Hash
. ruby2 _ keywords _ hash?(hash) -> bool (36880.0) -
Module#ruby2_keywordsやProc#ruby2_keywordsによる ruby2_keywords フラグが設定されているかどうかを返します。
Module#ruby2_keywordsやProc#ruby2_keywordsによる
ruby2_keywords フラグが設定されているかどうかを返します。
このメソッドはデバッグや調査、シリアライゼーションのために本当に必要な場合のために
用意されていて、普通のプログラムで使うことは想定されていません。
ruby 2.7.1 で追加されたため、ruby 2.7.0 では定義されていません。
//emlist[][ruby]{
ruby2_keywords def foo(*args)
Hash.ruby2_keywords_hash?(args.last)
end
foo(... -
Object
:: RUBY _ ENGINE -> String (36766.0) -
Ruby処理系実装の種類を表す文字列。
Ruby処理系実装の種類を表す文字列。
例:
$ ruby-1.9.1 -ve 'p RUBY_ENGINE'
ruby 1.9.1p0 (2009-03-04 revision 22762) [x86_64-linux]
"ruby"
$ jruby -ve 'p RUBY_ENGINE'
jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]
"jruby" -
Object
:: RUBY _ PATCHLEVEL -> Integer (36712.0) -
Ruby のパッチレベルを表す Integer オブジェクトです。
Ruby のパッチレベルを表す Integer オブジェクトです。
パッチレベルはRubyの各バージョンに対するバグ修正パッチの適用をカウントしています。
teeny リリースのそれぞれについてパッチレベルは 0 から始まり、
その teeny リリースに対してバグ修正パッチが適用される度に増えていきます。
パッチレベルという概念および RUBY_PATCHLEVEL 定数は、 Ruby 1.8.5-p1 以降、 1.8.6 以降で導入されました。
1.8.5やそれ以前のバージョンでは定義されていません。 -
Module
# ruby2 _ keywords(method _ name , . . . ) -> nil (36700.0) -
For the given method names, marks the method as passing keywords through a normal argument splat. This should only be called on methods that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the method such that if the method is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the method to other methods.
For the given method names, marks the method as passing keywords through
a normal argument splat. This should only be called on methods that
accept an argument splat (`*args`) but not explicit keywords or a
keyword splat. It marks the method such that if the method is called
with keyword argument... -
Proc
# ruby2 _ keywords -> proc (36700.0) -
Marks the proc as passing keywords through a normal argument splat. This should only be called on procs that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the proc such that if the proc is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the proc to other methods.
Marks the proc as passing keywords through a normal argument splat. This
should only be called on procs that accept an argument splat (`*args`)
but not explicit keywords or a keyword splat. It marks the proc such
that if the proc is called with keyword arguments, the final hash
argument is marked ... -
Object
:: RUBY _ DESCRIPTION -> String (36676.0) -
Ruby の詳細を表す文字列。
Ruby の詳細を表す文字列。
ruby -v で表示される内容が格納されています。 -
Object
:: RUBY _ VERSION -> String (36676.0) -
Ruby のバージョンを表す文字列。
Ruby のバージョンを表す文字列。
Ruby のバージョンは、major.minor.teeny という形式です。 -
Object
:: RUBY _ COPYRIGHT -> String (36658.0) -
Ruby のコピーライトを表す文字列。
Ruby のコピーライトを表す文字列。 -
Object
:: RUBY _ ENGINE _ VERSION -> String (36658.0) -
Ruby処理系実装のバージョンを表す文字列。
Ruby処理系実装のバージョンを表す文字列。 -
Object
:: RUBY _ RELEASE _ DATE -> String (36658.0) -
Ruby のリリース日を表す文字列。
Ruby のリリース日を表す文字列。 -
Object
:: RUBY _ REVISION -> String (36658.0) -
Ruby の GIT コミットハッシュを表す String オブジェクトです。
Ruby の GIT コミットハッシュを表す String オブジェクトです。 -
Object
:: RUBY _ PLATFORM -> String (36610.0) -
プラットフォームを表す文字列。
プラットフォームを表す文字列。 -
RubyVM (36055.0)
-
Ruby の 内部情報へのアクセス手段を提供するクラスです。 デバッグ用、プロトタイピング用、研究用などの とても限定された用途向けです。 一般ユーザーは使うべきではありません。
Ruby の 内部情報へのアクセス手段を提供するクラスです。
デバッグ用、プロトタイピング用、研究用などの
とても限定された用途向けです。
一般ユーザーは使うべきではありません。 -
Symbol
. all _ symbols -> [Symbol] (27643.0) -
定義済みの全てのシンボルオブジェクトの配列を返します。
定義済みの全てのシンボルオブジェクトの配列を返します。
p Symbol.all_symbols #=> [:RUBY_PLATFORM, :RUBY_VERSION, ...]
リテラルで表記したシンボルのうち、コンパイル時に値が決まるものはその時に生成されます。
それ以外の式展開を含むリテラルや、メソッドで表記されたものは式の評価時に生成されます。
(何にも使われないシンボルは最適化により生成されないことがあります)
def number
'make_3'
end
p Symbol.all_symbols.select{|sym|sym.to_s.in... -
RubyVM
:: InstructionSequence . load _ from _ binary(binary) -> RubyVM :: InstructionSequence (27625.0) -
RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。
RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。
このローダーは検証機構をもっておらず、壊れたり改変されたバイナリを読み込むと深刻な問題を引き起こします。
他者により提供されたバイナリデータはロードすべきではありません。自分が変換したバイナリデータを使うべきです。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary
RubyVM:... -
Enumerator
:: Yielder # yield(*object) -> () (27397.0) -
Enumerator.new で使うメソッドです。
Enumerator.new で使うメソッドです。
生成された Enumerator オブジェクトの each メソッドを呼ぶと
Enumerator::Yielder オブジェクトが渡されたブロックが実行され、
ブロック内の yield メソッドが呼ばれるたびに each に渡された
ブロックが yield メソッドに渡された値とともに繰り返されます。
//emlist[例][ruby]{
enum = Enumerator.new do |y|
y.yield 1, 2, 3
end
enum.each do |x, y, z|
p [x, y, z]
end
# => [... -
RubyVM
:: InstructionSequence # to _ binary(extra _ data = nil) -> String (27361.0) -
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。 RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。
RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
引数の extra_data はバイナリデータと共に保存されます。
RubyVM::InstructionSequence.load_from_binary_extra_data メソッドでこの文字列にアクセス出来ます。
注意: 変換後のバイナリデータはポータブルではありません。 to_binary で得たバイナリデータは他のマシンに移動できません。他... -
Encoding
:: InvalidByteSequenceError # error _ bytes -> String (27325.0) -
エラー発生時に捨てられたバイト列を返します。
エラー発生時に捨てられたバイト列を返します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1\xFFdef")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP>
puts $!.error_bytes.dump ... -
RubyVM
:: AbstractSyntaxTree :: Node # type -> Symbol (27325.0) -
self の種類を Symbol で返します。
self の種類を Symbol で返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.type # => :SCOPE
//} -
RubyVM
:: InstructionSequence . load _ from _ binary _ extra _ data(binary) -> String (27325.0) -
バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。
バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary("extra_data")
RubyVM::InstructionSequence.load_from_binary_extra_data(binary) # => extra_data
//}
@see RubyVM::InstructionSequence#to_binary -
RubyVM
:: AbstractSyntaxTree (27055.0) -
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
抽象構文木はRubyVM::AbstractSyntaxTree::Nodeクラスのインスタンスとして表されます。
このモジュールはMRIの抽象構文木の実装の詳細を表します。
このモジュールは実験的であり、安定したAPIではないため、
予告なしに変更される可能性があります。
例えば、子要素の順序は保証されておらず、
子要素の数は変更される可能性があります。
また子要素に名前でアクセスする方法は提供されていません。
もし安定したAPIやMRI以外の実装で抽象構文木を扱いたい場合、
parser gem (https... -
RubyVM
:: AbstractSyntaxTree . parse(string) -> RubyVM :: AbstractSyntaxTree :: Node (18715.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
文字列を抽象構文木にパースし、その木の根ノードを返します。
@param string パースする対象の Ruby のコードを文字列で指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリ... -
RubyVM
:: AbstractSyntaxTree . parse(string , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (18715.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
文字列を抽象構文木にパースし、その木の根ノードを返します。
@param string パースする対象の Ruby のコードを文字列で指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリ... -
Enumerable
# lazy -> Enumerator :: Lazy (18697.0) -
自身を lazy な Enumerator に変換したものを返します。
自身を lazy な Enumerator に変換したものを返します。
この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
くEnumeratorを返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一貫性のため、ブロックを渡さないケースのみl... -
RubyVM
:: InstructionSequence . compile(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (18673.0) -
引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param source Ruby のソースコードを文字列で指定します。
@param file ファイル名を文字列で指定します。
@param path 引数 file の絶対パスファイル名を文字列で指定します。
@param line 引数 source の 1 行目の行番号を指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
... -
RubyVM
:: InstructionSequence . new(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (18673.0) -
引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param source Ruby のソースコードを文字列で指定します。
@param file ファイル名を文字列で指定します。
@param path 引数 file の絶対パスファイル名を文字列で指定します。
@param line 引数 source の 1 行目の行番号を指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
... -
String
# byterindex(pattern , offset = self . bytesize) -> Integer | nil (18661.0) -
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。 見つからなければ nil を返します。
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
offset が負の場合は、文字列の末尾から数えた位置から探索します。
byterindex と String#byteindex とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッ... -
String
# bytes {|byte| . . . } -> self (18661.0) -
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}
ブロックが指定された場合は String#each_byte と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_byte -
RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence (18655.0) -
引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname) -> RubyVM :: AbstractSyntaxTree :: Node (18643.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
@param pathname パースする対象のファイルパスを指定します
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR である... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (18643.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
@param pathname パースする対象のファイルパスを指定します
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR である... -
IO
. copy _ stream(src , dst , copy _ length = nil) -> Integer (18625.0) -
指定された src から dst へコピーします。 コピーしたバイト数を返します。
指定された src から dst へコピーします。
コピーしたバイト数を返します。
コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst に関しても同様です。
dst にファイル名を指定し、そのファイルが存在しない場合、
ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。
src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。
@param src コピー元となる IO ... -
IO
. copy _ stream(src , dst , copy _ length , src _ offset) -> Integer (18625.0) -
指定された src から dst へコピーします。 コピーしたバイト数を返します。
指定された src から dst へコピーします。
コピーしたバイト数を返します。
コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst に関しても同様です。
dst にファイル名を指定し、そのファイルが存在しない場合、
ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。
src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。
@param src コピー元となる IO ... -
Object
# to _ ary -> Array (18625.0) -
オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* 配列が使われるすべての場面で代置可能であるような、
* 配列そのものとみなせるようなもの
という厳しいものになっています。
//emlist[][ruby]{
class Foo
def to_ary
[3,4]
end
end
it = Foo.new
p([1,2... -
RubyVM
:: AbstractSyntaxTree . of(proc) -> RubyVM :: AbstractSyntaxTree :: Node (18625.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
このメソッドはProcやメソッドが定義されたファイルを読み込む必要があるため、
irbのようなファイルを介さない対話的環境では動作しません。
@param proc Procもしくはメソッドオブジェクトを指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param e... -
RubyVM
:: AbstractSyntaxTree . of(proc , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (18625.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
このメソッドはProcやメソッドが定義されたファイルを読み込む必要があるため、
irbのようなファイルを介さない対話的環境では動作しません。
@param proc Procもしくはメソッドオブジェクトを指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param e... -
String
# each _ byte {|byte| . . . } -> self (18625.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (18607.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
Proc
# curry -> Proc (18469.0) -
Procをカリー化します
Procをカリー化します
カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します。
@param arity 引数の個数を指定します
@return カリー化したProcオブジェクトを返します
//emlist[例][ruby]{
b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] ... -
Proc
# curry(arity) -> Proc (18469.0) -
Procをカリー化します
Procをカリー化します
カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します。
@param arity 引数の個数を指定します
@return カリー化したProcオブジェクトを返します
//emlist[例][ruby]{
b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] ... -
Math
. # hypot(x , y) -> Float (18460.0) -
sqrt(x*x + y*y) を返します。
sqrt(x*x + y*y) を返します。
この値は x, y を直交する 2 辺とする直角三角形の斜辺(hypotenuse)の長さです。
@param x 実数
@param y 実数
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。
//emlist[例][ruby]{
Math.hypot(3, 4) #=> 5.0
//} -
Kernel
. # system(command , options={}) -> bool | nil (18421.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(env , command , options={}) -> bool | nil (18421.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Enumerable
# sort _ by -> Enumerator (18397.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Enumerable
# sort _ by {|item| . . . } -> [object] (18397.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Proc
# arity -> Integer (18397.0) -
Proc オブジェクトが受け付ける引数の数を返します。
Proc オブジェクトが受け付ける引数の数を返します。
ただし、可変長引数を受け付ける場合、負の整数
-(必要とされる引数の数 + 1)
を返します。
//emlist[例][ruby]{
lambda{ }.arity # => 0
lambda{|| }.arity # => 0
lambda{|x| }.arity # => 1
lambda{|*x| }.arity # => -1
lambda{|x, y| }.arity # => 2
lambda{|x, *y| }... -
Encoding
# dummy? -> bool (18361.0) -
自身がダミーエンコーディングである場合に true を返します。 そうでない場合に false を返します。
自身がダミーエンコーディングである場合に true を返します。
そうでない場合に false を返します。
ダミーエンコーディングとは Ruby が名前を知っているものの実質的には対応していないエンコーディングのことです。例えば、ダミーエンコーディングで符号化された文字列の場合、 String#length はマルチバイト文字を考慮せずにバイト列の長さを返します。
ダミーエンコーディングも IO の外部エンコーディングに指定できます。また
Ruby はサポートしていないが拡張ライブラリがサポートしているエンコーディングを扱う場合にも
用います。
//emlist[例][ruby]{
E... -
Enumerable
# max _ by -> Enumerator (18361.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by {|item| . . . } -> object | nil (18361.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by(n) -> Enumerator (18361.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by(n) {|item| . . . } -> Array (18361.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Kernel
. # system(env , program , *args , options={}) -> bool | nil (18361.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(program , *args , options={}) -> bool | nil (18361.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Method
# arity -> Integer (18361.0) -
メソッドが受け付ける引数の数を返します。
メソッドが受け付ける引数の数を返します。
ただし、メソッドが可変長引数を受け付ける場合、負の整数
-(必要とされる引数の数 + 1)
を返します。C 言語レベルで実装されたメソッドが可変長引数を
受け付ける場合、-1 を返します。
//emlist[例][ruby]{
class C
def u; end
def v(a); end
def w(*a); end
def x(a, b); end
def y(a, b, *c); end
def z(a, b, *... -
Method
# curry -> Proc (18361.0) -
self を元にカリー化した Proc を返します。
self を元にカリー化した Proc を返します。
カリー化した Proc はいくつかの引数をとります。十分な数の引数が与
えられると、元の Proc に引数を渡し て実行し、結果を返します。引数
の個数が足りないときは、部分適用したカリー化 Proc を返します。
@param arity 引数の個数を指定します。可変長の引数を指定できるメソッドを
カリー化する際には必ず指定する必要があります。
//emlist[例][ruby]{
def foo(a,b,c)
[a, b, c]
end
proc = self.method(:foo).curr... -
Method
# curry(arity) -> Proc (18361.0) -
self を元にカリー化した Proc を返します。
self を元にカリー化した Proc を返します。
カリー化した Proc はいくつかの引数をとります。十分な数の引数が与
えられると、元の Proc に引数を渡し て実行し、結果を返します。引数
の個数が足りないときは、部分適用したカリー化 Proc を返します。
@param arity 引数の個数を指定します。可変長の引数を指定できるメソッドを
カリー化する際には必ず指定する必要があります。
//emlist[例][ruby]{
def foo(a,b,c)
[a, b, c]
end
proc = self.method(:foo).curr... -
Object
# initialize _ copy(obj) -> object (18361.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
をインスタ... -
String
# bytes -> [Integer] (18361.0) -
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}
ブロックが指定された場合は String#each_byte と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_byte -
String
# crypt(salt) -> String (18361.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
Time
# yday -> Integer (18361.0) -
1月1日を1とした通算日(1から366まで)を整数で返します。
1月1日を1とした通算日(1から366まで)を整数で返します。
//emlist[][ruby]{
p Time.mktime(2000, 1, 1).yday # => 1
//}
うるう年の場合は、2月29日も含めた通算日を返します。
//emlist[うるう年でない場合][ruby]{
p Time.mktime(2003, 1, 1).yday # => 1
p Time.mktime(2003, 3, 1).yday # => 60
p Time.mktime(2003, 12, 31).yday # => 365
//}
//emlist[うるう年の場合][r... -
Data
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (18343.0) -
self のメンバの名前と値の組を Hash で返します。
self のメンバの名前と値の組を Hash で返します。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct_keys(nil) # => {:amount=>10, :unit=>"km"}
distance.deconstruct_keys([:amount]) # => {:amount=>10}
//}
このメソッドは以下のようにパターンマッチで利用されます。
//emlist[例][ruby]... -
Object
# display(out = $ stdout) -> nil (18343.0) -
オブジェクトを out に出力します。
オブジェクトを out に出力します。
以下のように定義されています。
//emlist[][ruby]{
class Object
def display(out = $stdout)
out.write self
nil
end
end
//}
@param out 出力先のIOオブジェクトです。指定しない場合は標準出力に出力されます。
@return nil を返します。
//emlist[][ruby]{
Object.new.display #=> #<Object:0xbb0210>
//}
@see $stdout -
RubyVM
:: InstructionSequence # to _ a -> Array (18343.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
String
# byteslice(nth) -> String | nil (18331.0) -
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。 引数が範囲外を指定した場合は nil を返します。
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。
引数が範囲外を指定した場合は nil を返します。
@param nth 文字の位置を表す整数を指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1) # => "e"
"hello".byteslice(-1) # => "o"
"\u3042".byteslice(0) # => "\xE3"
"\u3042".byteslice(1) # => "\x... -
String
# byteslice(nth , len=1) -> String | nil (18331.0) -
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は
nil を返します。
@param nth 取得したい文字列の開始バイトを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1, 2) # => "el"
"\u3042\u3044\u... -
String
# byteslice(range) -> String | nil (18331.0) -
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲
外を指定した場合は nil を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1..2) # => "el"
"\x03\u3042\xff".byteslice(1..3) # => "\u3042"
//}
@see String#slice
@see Str... -
ARGF
. class # getbyte -> Integer | nil (18325.0) -
self から 1 バイト(0..255)を読み込み整数として返します。 既に EOF に達していれば nil を返します。
self から 1 バイト(0..255)を読み込み整数として返します。
既に EOF に達していれば nil を返します。
ARGF はスクリプトに指定した引数(Object::ARGV を参照) をファイル名
とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェ
クトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内
容を返します。
$ echo "foo" > file1
$ echo "bar" > file2
$ ruby argf.rb file1 file2
ARGF.getbyte # => 102
ARGF.g... -
ARGF
. class # readbyte -> Integer (18325.0) -
自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。
自身から 1 バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
$ echo "foo" > file
$ ruby argf.rb file
ARGF.readbyte # => 102
ARGF.readbyte # => 111
ARGF.readbyte # => 111
ARGF.readbyte # => 10
ARGF.readbyte # => end of file reached (EOFError)... -
Array
# any? -> bool (18325.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p... -
Array
# any? {|item| . . . } -> bool (18325.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p... -
Array
# any?(pattern) -> bool (18325.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p... -
Array
# cycle(n=nil) -> Enumerator (18325.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# cycle(n=nil) {|obj| block } -> nil (18325.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# empty? -> bool (18325.0) -
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
//emlist[例][ruby]{
p [].empty? #=> true
p [1, 2, 3].empty? #=> false
//} -
Array
# sort _ by! -> Enumerator (18325.0) -
sort_by の破壊的バージョンです。
sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by -
Array
# sort _ by! {|item| . . . } -> self (18325.0) -
sort_by の破壊的バージョンです。
sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by -
Array
# to _ ary -> self (18325.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 -
Array
. try _ convert(obj) -> Array | nil (18325.0) -
to_ary メソッドを用いて obj を配列に変換しようとします。
to_ary メソッドを用いて obj を配列に変換しようとします。
何らかの理由で変換できないときには nil を返します。
このメソッドは引数が配列であるかどうかを調べるために使えます。
//emlist[例][ruby]{
Array.try_convert([1]) # => [1]
Array.try_convert("1") # => nil
if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument ... -
Dir
. empty?(path _ name) -> bool (18325.0) -
path_name で与えられたディレクトリが空の場合に真を返します。 ディレクトリでない場合や空でない場合に偽を返します。
path_name で与えられたディレクトリが空の場合に真を返します。
ディレクトリでない場合や空でない場合に偽を返します。
//emlist[例][ruby]{
Dir.empty?('.') #=> false
Dir.empty?(IO::NULL) #=> false
require 'tmpdir'
Dir.mktmpdir { |dir| Dir.empty?(dir) } #=> true
//}
@param path_name 確認したいディレクトリ名。 -
ENV
. each _ key -> Enumerator (18325.0) -
key を引数としてブロックを評価します。
key を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each_key do |key|
p "key #{key} detected" if key == 'FOO'
end
# "key FOO detected"
//} -
ENV
. each _ key {|key| . . . } -> self (18325.0) -
key を引数としてブロックを評価します。
key を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each_key do |key|
p "key #{key} detected" if key == 'FOO'
end
# "key FOO detected"
//} -
Enumerable
# any? -> bool (18325.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
自身に要素が存在しない場合は false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
p Set[1, 2, 3].any? {|v| v > 3 } ... -
Enumerable
# any? {|item| . . . } -> bool (18325.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
自身に要素が存在しない場合は false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
p Set[1, 2, 3].any? {|v| v > 3 } ... -
Enumerable
# any?(pattern) -> bool (18325.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
自身に要素が存在しない場合は false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
p Set[1, 2, 3].any? {|v| v > 3 } ... -
Enumerable
# cycle(n=nil) -> Enumerator (18325.0) -
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。
n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,... -
Enumerable
# cycle(n=nil) {|obj| . . . } -> object | nil (18325.0) -
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。
n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,... -
Enumerable
# each _ entry -> Enumerator (18325.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# each _ entry {|obj| block} -> self (18325.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# group _ by -> Enumerator (18325.0) -
ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。
ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。
//emlist[例][ruby]{
(1..6).group_by {|i| i%3} #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}
//}
ブロックを省略した場合は Enumerator を返します。 -
Enumerable
# group _ by {|obj| . . . } -> Hash (18325.0) -
ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。
ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。
//emlist[例][ruby]{
(1..6).group_by {|i| i%3} #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}
//}
ブロックを省略した場合は Enumerator を返します。 -
Enumerable
# min _ by -> Enumerator (18325.0) -
各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
各要素を順番にブロックに渡して評価し、
その評価結果を <=> で比較して、
最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
ブロックを省略した場合は Enumerator を返します。
Enumerable#min と Enumerable#min_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
@pa... -
Enumerable
# min _ by {|item| . . . } -> object | nil (18325.0) -
各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
各要素を順番にブロックに渡して評価し、
その評価結果を <=> で比較して、
最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
ブロックを省略した場合は Enumerator を返します。
Enumerable#min と Enumerable#min_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
@pa... -
Enumerable
# min _ by(n) -> Enumerator (18325.0) -
各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
各要素を順番にブロックに渡して評価し、
その評価結果を <=> で比較して、
最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
ブロックを省略した場合は Enumerator を返します。
Enumerable#min と Enumerable#min_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
@pa... -
Enumerable
# min _ by(n) {|item| . . . } -> Array (18325.0) -
各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
各要素を順番にブロックに渡して評価し、
その評価結果を <=> で比較して、
最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
ブロックを省略した場合は Enumerator を返します。
Enumerable#min と Enumerable#min_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
@pa... -
Enumerable
# minmax _ by -> Enumerator (18325.0) -
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して
最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#minmax と Enumerable#minmax_by の
違いは sort と sort_by の違いと同じです。
詳細は Enumerable#sort_by を参照してください。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax_by {|x| x.length } ... -
Enumerable
# minmax _ by {|obj| . . . } -> [object , object] (18325.0) -
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して
最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#minmax と Enumerable#minmax_by の
違いは sort と sort_by の違いと同じです。
詳細は Enumerable#sort_by を参照してください。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax_by {|x| x.length } ... -
Enumerable
# tally -> Hash (18325.0) -
self に含まれる要素を数え上げた結果を Hash で返します。 Hash のキーは self に含まれる要素で、Hash の値は対応する要素が出現する回数です。
self に含まれる要素を数え上げた結果を Hash で返します。
Hash のキーは self に含まれる要素で、Hash の値は対応する要素が出現する回数です。
返り値は Hash であり、内部でも Hash と同等に要素を区別し数えます。
そのため、独自で定義するクラスでも Object#hash と Object#eql? を適切に定義することで数えることができます。
@param hash 結果を加算していく Hash を指定します。更新される値は Integer である必要があります。
//emlist[例][ruby]{
["a", "b", "c", "b"].tall... -
Enumerable
# tally(hash) -> Hash (18325.0) -
self に含まれる要素を数え上げた結果を Hash で返します。 Hash のキーは self に含まれる要素で、Hash の値は対応する要素が出現する回数です。
self に含まれる要素を数え上げた結果を Hash で返します。
Hash のキーは self に含まれる要素で、Hash の値は対応する要素が出現する回数です。
返り値は Hash であり、内部でも Hash と同等に要素を区別し数えます。
そのため、独自で定義するクラスでも Object#hash と Object#eql? を適切に定義することで数えることができます。
@param hash 結果を加算していく Hash を指定します。更新される値は Integer である必要があります。
//emlist[例][ruby]{
["a", "b", "c", "b"].tall... -
Enumerator
:: Lazy # lazy -> self (18325.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
lazy = (100..Float::INFINITY).lazy
p lazy.lazy # => #<Enumerator::Lazy: 100..Infinity>
p lazy == lazy.lazy # => true
//} -
Fiber
. yield(*arg = nil) -> object (18325.0) -
現在のファイバーの親にコンテキストを切り替えます。
現在のファイバーの親にコンテキストを切り替えます。
コンテキストの切り替えの際に Fiber#resume に与えられた引数を yield メソッドは返します。
@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。
@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。
//emlist[例:][ruby]{
a = nil
f = Fiber.new do
a = Fiber.yield()
end
f.resume()
f.resume(:foo)
p a #=> :foo
//}