種類
- インスタンスメソッド (120)
- 文書 (120)
- モジュール関数 (49)
- クラス (12)
ライブラリ
- ビルトイン (181)
クラス
- Module (96)
-
Thread
:: Backtrace :: Location (12) - TracePoint (12)
モジュール
- Kernel (49)
キーワード
- Proc (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Rubyの起動 (12)
- inspect (24)
- lambda (18)
- private (48)
- proc (19)
- public (48)
-
ruby 1
. 8 . 4 feature (12) - クラス/メソッドの定義 (12)
- セキュリティモデル (12)
- パターンマッチ (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- リテラル (12)
- 手続きオブジェクトの挙動の詳細 (12)
- 演算子式 (12)
検索結果
先頭5件
-
Kernel
. # `(command) -> String (18162.0) -
command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。
...command を外部コマンドとして実行し、その標準出力を文字列として
返します。このメソッドは `command` の形式で呼ばれます。
引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、
コマンド......コマンドを実行したいだけなら
Kernel.#system を使います。特に端末を制御するコマンドでは
`command` は失敗するかもしれません。
d:spec/literal#command も参照。
@param command コマンドとして実行する引数です。そのまま評価される......Errno::EXXX コマンドを実行できないときや失敗した場合に発生します。
//emlist[例][ruby]{
puts `ruby -v` #=> ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
puts $?.inspect #=> #<Process::Status: pid=3580,exited(0)>
//}
@see Kernel.#system,Kernel.#exec,Kernel.#spawn... -
Thread
:: Backtrace :: Location # inspect -> String (6112.0) -
Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文 字列に変換したオブジェクトを返します。
...][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.inspect
end
# => "path/to/foo.rb:5:in `initialize'"
# "path/to/foo.rb:9:in `new'"
# "path/to/foo.rb:9:in `<main>'"
//}... -
TracePoint
# inspect -> String (6106.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
//}... -
クラス/メソッドの定義 (3084.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...][ruby]{
class Foo < Super
def test
# ...
end
# ...
end
//}
文法:
class 識別子 [`<' superclass ]
式..
end
文法:
class 識別子 [`<' superclass ]
式..
[rescue [error_type,..] [=> evar] [then]
式..]........ァベットの大文字で始まる識別子です。
rescue/ensure 節を指定し、例外処理ができます。
例外処理についてはd:spec/control#begin参照。
クラス定義は、識別子で指定した定数へのクラスの代入になります
(Ruby では、クラスもオ......Object.new # obj = nil でも可
class << obj
def test
# ...
end
# ...
end
//}
文法:
class `<<' expr
式..
end
文法:
class `<<' expr
式..
[rescue [error_type,..] [=> evar] [then]
式..]..
[else... -
メソッド呼び出し(super・ブロック付き・yield) (3084.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * it * call_method
...llo world\n"
print
Class.new
Class::new
//}
文法:
[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
[式 `::'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
メソッド呼び出し式はレシーバ(`.' の左側の式の値)のメソッドを呼び
出します。......しま
す。
`.' と `::' とはほぼ同じ意味です。但し、定数を表す場合は、
`::' を使わなければいけません(例: Math::PI)。逆に、
//emlist[][ruby]{
Klass::Foo
//}
とした場合、常に定数と見なされるという制限があります。
`::' を、ク......のメソッドを持つオブジェクトのメソッド定義式内でなければ呼び出せ
ません。d:spec/def#limit を参照して下さい。
ハッシュ式の解説(d:spec/literal#hash)にも書かれている通り、
メソッド呼出の末尾にHashを渡す場合は {, } を省... -
リテラル (3072.0)
-
リテラル * num * string * backslash * exp * char * command * here * regexp * array * hash * range * symbol * percent
...ん。
: 42i
: 3.14i
複素数
: 42ri
: 3.14ri
虚数部が有理数の複素数
数値リテラルには、`_' を含めることができます。
ruby インタプリタは `_' を単に無視し、特別な解釈は何もしません。
これは、大きな数値の桁数がひと目で......す String
: ?\M-\C-a
メタ-コントロール a を表す String
===[a:command] コマンド出力
//emlist[例][ruby]{
`date`
%x{ date }
//}
バッククォート(`)で囲まれた文字列は、ダブルクォー
トで囲まれた文字列と同様にbackslash
の解釈とexp
が行な......name is #{myname}/o
%r|Ruby|
//}
/で囲まれた文字列は正規表現です。正規表現として解釈される
メタ文字についてはspec/regexpを参照してください。
終りの/の直後の文字は正規表現に対するオプションになります。
オプションの... -
メソッド呼び出し(super・ブロック付き・yield) (3060.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * it * call_method
...llo world\n"
print
Class.new
Class::new
//}
文法:
[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
[式 `::'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
メソッド呼び出し式はレシーバ(`.' の左側の式の値)のメソッドを呼び
出します。......しま
す。
`.' と `::' とはほぼ同じ意味です。但し、定数を表す場合は、
`::' を使わなければいけません(例: Math::PI)。逆に、
//emlist[][ruby]{
Klass::Foo
//}
とした場合、常に定数と見なされるという制限があります。
`::' を、ク......のメソッドを持つオブジェクトのメソッド定義式内でなければ呼び出せ
ません。d:spec/def#limit を参照して下さい。
ハッシュ式の解説(d:spec/literal#hash)にも書かれている通り、
メソッド呼出の末尾にHashを渡す場合は {, } を省... -
Rubyの起動 (3048.0)
-
Rubyの起動 * cmd_option * shebang
...gramfile は、Ruby スクリプトを記述したファイ
ルです。これを省略したり`-' を指定した場合には標準入力を Ruby ス
クリプトとみなします。
programfile が `#!' で始まるファイルである場合、特殊な解釈
が行われます。詳細は後......ンタプリタが自前でワイルドカードを展開して
Object::ARGV に設定します。この場合ワイルドカードとして
`*', `?', `[]', `**/' が使用できます。Win32 環境で、
ワイルドカード展開を抑止したい場合は引数をシングルクォート(') で......同じ)に設定できます。
: -a
`-n'や`-p'とともに用いて, オートスプリットモードをONにします。
オートスプリットモードでは各ループの先頭で,
//emlist{
$F = $_.split
//}
が実行されます。`-n'か`-p'オプションが同時に指定... -
パターンマッチ (3036.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
...d
def deconstruct
puts "deconstruct called"
[@x, @y]
end
def deconstruct_keys(keys)
puts "deconstruct_keys called with #{keys.inspect}"
{x: @x, y: @y}
end
end
case Point.new(1, -2)
in px, Integer # パターンと変数への束縛も動きます
"matched: #{px}"
else......: 1, b: 2} in {a:}
//}
つまり、フラグの切り替えによって影響を受けるのは切り替え以降に load されたファイルや `eval` されたコードに限られます。
代わりに、コマンドラインオプションとして 『-W:no-experimental』 を渡すことで......nstant[key: pattern, key:, ..., **variable]
===[a:some_undefined_behavior_examples] 付記B: `未定義` の振る舞いの例
将来的な最適化の余地を残すため、仕様には一部 `未定義` の振る舞いが含まれています。
//emlist[マッチしなかったパターンに......[0] => [*, 0, *]
//}
つまり、フラグの切り替えによって影響を受けるのは切り替え以降に load されたファイルや `eval` されたコードに限られます。
代わりに、コマンドラインオプションとして 『-W:no-experimental』 を渡すことで... -
演算子式 (3030.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
...//emlist{
| ^ & <=> == === =~ > >= < <= << >>
+ - * / % ** ~ +@ -@ [] []= ` ! != !~
//}
これらの演算子式の定義方法についてはd:spec/def#operatorを参照してください。
:再定義できない演算子(制御構造)
演算子の組......emlist[例][ruby]{
foo = bar
foo[0] = bar
foo.bar = baz
//}
文法:
変数 '=' 式
定数 '=' 式
式`['expr..`]' '=' 式
式`.'識別子 '=' 式
代入式は変数などに値を設定するために用いられます。代入はロー
カル変数や定......なければなりません。
: 変数
//emlist{
変数 `=' 式
//}
左辺値が変数の場合、式を評価した値が変数に代入されます。
: 配列参照
//emlist{
式1`[' 式2 ... `]' `=' 式n
//}
式1を評価して得られるオブジェクトに対... -
Rubyの起動 (3024.0)
-
Rubyの起動 * cmd_option * shebang
...gramfile は、Ruby スクリプトを記述したファイ
ルです。これを省略したり`-' を指定した場合には標準入力を Ruby ス
クリプトとみなします。
programfile が `#!' で始まるファイルである場合、特殊な解釈
が行われます。詳細は後......ンタプリタが自前でワイルドカードを展開して
Object::ARGV に設定します。この場合ワイルドカードとして
`*', `?', `[]', `**/' が使用できます。Win32 環境で、
ワイルドカード展開を抑止したい場合は引数をシングルクォート(') で......同じ)に設定できます。
: -a
`-n'や`-p'とともに用いて, オートスプリットモードをONにします。
オートスプリットモードでは各ループの先頭で,
//emlist{
$F = $_.split
//}
が実行されます。`-n'か`-p'オプションが同時に指定...