別のキーワード
ライブラリ
- ビルトイン (501)
-
cgi
/ session (12) - csv (12)
- date (12)
- digest (12)
- fiddle (24)
- getoptlong (12)
-
irb
/ frame (12) -
irb
/ xmp (12) - json (12)
- monitor (12)
-
net
/ http (24) -
net
/ protocol (24) - openssl (12)
- optparse (12)
- pathname (12)
- prime (12)
- pstore (12)
- psych (48)
-
rdoc
/ parser / ruby (24) - rexml (12)
-
rexml
/ document (120) - ripper (12)
-
ripper
/ filter (12) -
ripper
/ lexer (12) -
rubygems
/ commands / which _ command (12) -
rubygems
/ version (12) - stringio (12)
- strscan (12)
- thread (6)
- win32ole (60)
- zlib (12)
キーワード
- Array (12)
- Base (12)
- BasicObject (12)
- BlockCaller (12)
- CSV (12)
- Cipher (12)
- Class (12)
- Closure (12)
- Comment (12)
- CompatibilityError (12)
- Complex (12)
- ConditionVariable (12)
- ConverterNotFoundError (12)
- Data (9)
- Date (12)
- Default (12)
- EXXX (12)
- Encoding (12)
- Entity (12)
- Enumerator (12)
- ExternalEntity (12)
- Fiber (12)
- Filter (12)
- Float (12)
- Frame (12)
- FrozenError (8)
- GetoptLong (12)
- GzipWriter (12)
- HTTPRequest (12)
- HTTPServerException (12)
- Instruction (12)
- InstructionSequence (12)
- InvalidByteSequenceError (12)
- KeyError (12)
- Lazy (12)
- Lexer (12)
- Location (12)
- MemoryStore (12)
- Method (12)
- Monitor (12)
- Node (7)
- NotImplementedError (12)
- NotationDecl (12)
- Numeric (12)
- OptionParser (12)
- PStore (12)
- ParseException (12)
- Pathname (12)
- Pretty (12)
- Prime (12)
- Proc (12)
- ProtoCommandError (12)
- ProtoSyntaxError (12)
- Queue (12)
- Range (12)
- Rational (12)
- Regexp (12)
- RegexpError (12)
- Ripper (12)
- Ruby (12)
- RubyLex (12)
- RubyVM (12)
- ScalarScanner (12)
- ScriptError (12)
- Set (3)
- SizedQueue (12)
- Stat (12)
- State (12)
- Stream (12)
- String (12)
- StringIO (12)
- StringScanner (12)
- Symbol (12)
- SystemCallError (12)
- SystemExit (12)
- Text (12)
- Thread (12)
- Time (12)
- TracePoint (12)
- Transitive (12)
- TreeBuilder (12)
- UnboundMethod (12)
- UndefinedConversionError (12)
- Version (12)
- WIN32OLE (12)
-
WIN32OLE
_ EVENT (12) -
WIN32OLE
_ TYPE (12) -
WIN32OLE
_ VARIABLE (12) -
WIN32OLE
_ VARIANT (12) - WhichCommand (12)
- XMLDecl (12)
- XMP (12)
- YAMLTree (12)
- fatal (12)
検索結果
先頭5件
-
RDoc
:: Parser :: Ruby (6017.0) -
Ruby のソースコードを解析するためのクラスです。
...Ruby のソースコードを解析するためのクラスです。... -
RubyVM (6017.0)
-
Ruby の 内部情報へのアクセス手段を提供するクラスです。 デバッグ用、プロトタイピング用、研究用などの とても限定された用途向けです。 一般ユーザーは使うべきではありません。
...Ruby の 内部情報へのアクセス手段を提供するクラスです。
デバッグ用、プロトタイピング用、研究用などの
とても限定された用途向けです。
一般ユーザーは使うべきではありません。... -
RDoc
:: RubyLex (6001.0) -
ライブラリの内部で使用します。
ライブラリの内部で使用します。 -
RubyVM
:: InstructionSequence (3053.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
...Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェク......Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
* https://github.com/ruby/......ruby/blob/master/insns.def... -
RubyVM
:: AbstractSyntaxTree :: Node (3001.0) -
RubyVM::AbstractSyntaxTree.parse によって作られる抽象構文木を表すクラスです。
...RubyVM::AbstractSyntaxTree.parse によって作られる抽象構文木を表すクラスです。
このクラスは MRI の実装の詳細を表します。... -
Range (79.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
...[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 # 1 以上 5 未満
//}
この例で分かるように、範囲オブジェクトは終端を含む範囲も含まない範囲も表せます。
Ruby 2.6.0 からは、終端に nil......した。
//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限無し)を表す
p(1..nil) # 同上
p(1..) # 同上(略した書き方)
//}
また、Ruby 2.7.0 では始端に nil を与えることで「始端を持た......ない範囲オブジェクト」
を作ることもできるようになりました。
//emlist[始端を持たない範囲オブジェクト][ruby]{
p Range.new(nil, 5) # 5 以下(下限無し)を表す
p(nil..5) # 同上
p(..5) # 同上(略した書き方)
//}... -
CSV (67.0)
-
このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。
...提供します。
=== 読み込み
//emlist[][ruby]{
require "csv"
csv_text = <<~CSV_TEXT
Ruby,1995
Rust,2010
CSV_TEXT
IO.write "sample.csv", csv_text
# ファイルから一行ずつ
CSV.foreach("sample.csv") do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rust", "2010"]
# ファイル......)
# => [["Ruby", "1995"], ["Rust", "2010"]]
# 文字列から一行ずつ
CSV.parse(csv_text) do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rust", "2010"]
# 文字列から一度に
p CSV.parse(csv_text)
# => [["Ruby", "1995"], ["Rust", "2010"]]
//}
=== 書き込み
//emlist[][ruby]{
require......er", "row"]
# ...
end
//}
=== 一行変換
//emlist[][ruby]{
require 'csv'
csv_string = ["CSV", "data"].to_csv # => "CSV,data"
csv_array = "CSV,String".parse_csv # => ["CSV", "String"]
//}
=== ショートカット
//emlist[][ruby]{
require 'csv'
CSV { |csv_out| csv_out << %... -
Range (67.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
...[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 # 1 以上 5 未満
//}
この例で分かるように、範囲オブジェクトは終端を含む範囲も含まない範囲も表せます。
Ruby 2.6.0 からは、終端に nil......した。
//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限無し)を表す
p(1..nil) # 同上
p(1..) # 同上(略した書き方)
//}
また、Ruby 2.7.0 では始端に nil を与えることで「始端を持た......ない範囲オブジェクト」
を作ることもできるようになりました。
//emlist[始端を持たない範囲オブジェクト][ruby]{
p Range.new(nil, 5) # 5 以下(下限無し)を表す
p(nil..5) # 同上
p(..5) # 同上(略した書き方)
//}... -
Proc (49.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
...変数のスコープを保持していることは以下の例で
変数 var を参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo # => 2
//}
===[a:should_use_next] 手続きを中断して値を......それ以外では Proc#call)
へジャンプし値を返すには next を使います。break や return ではありません。
//emlist[例][ruby]{
def foo
f = Proc.new{
next 1
2 # この行に到達することはない
}
end
p foo().call #=> 1
//}
===[a:bloc......ブジェクトが呼び出しブロックとして振舞う際の制限です。
//emlist[問題なし][ruby]{
(1..5).each { break }
//}
//emlist[LocalJumpError が発生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレ... -
String (49.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
...テラルを使って生成します。
以下に文字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エ......用も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End
//}
===[a:mutable] 破壊的な変更
Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。
「破壊的な変更」とは......の文字を破壊的に大文字へ変更する
String#upcase! メソッドの使用例を以下に示します。
//emlist[例:String#upcase!][ruby]{
a = "string"
b = a
a.upcase!
p a # => "STRING"
p b # => "STRING"
//}
この例では、a に対してメソッドを呼んだにも関わら......ト、ダブルクオートとの併用も可能
<<~End
この行のインデントは無視される
End
//}
===[a:mutable] 破壊的な変更
Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。
「破壊的な変更」とは... -
Errno
:: EXXX (47.0) -
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
...システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
実際には「EXXX」というクラスが定義されているわけでは......、Rubyは例外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
動作環境に EXXX というエラーコードが存在しない場合、Rubyはそ......ラー番号を表す 3 桁の数字)
という名前の例外クラスが自動的に作成され、発生します。
(これは Ruby 内部でのみ行われ、 Ruby プログラム上で SystemCallError.new に一覧にないコードを渡してもクラスは作成されません)
それぞ...