キーワード
- Ruby プログラムの実行 (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Rubyの起動 (12)
- Ruby用語集 (12)
-
ruby 1
. 8 . 4 feature (12) - はじめに (12)
- オブジェクト (12)
- オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (12)
- クラス (12)
- クラス/メソッドの定義 (12)
- コマンド (12)
- スレッド (12)
- セキュリティモデル (12)
- パターンマッチ (12)
- プログラム・文・式 (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- リテラル (12)
- 制御構造 (12)
- 変数と定数 (12)
- 多言語化 (12)
- 字句構造 (12)
- 手続きオブジェクトの挙動の詳細 (12)
- 正規表現 (12)
- 演算子式 (12)
- 環境変数 (12)
- 終了処理 (12)
検索結果
-
クラス/メソッドの定義 (23055.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...ァベットの大文字で始まる識別子です。
rescue/ensure 節を指定し、例外処理ができます。
例外処理についてはd:spec/control#begin参照。
クラス定義は、識別子で指定した定数へのクラスの代入になります
(Ruby では、クラスもオ......たオブジェクトには引き継がれません.
rescue/ensure 節を指定し、例外処理ができます。
例外処理についてはd:spec/control#begin参照。
特異クラス定義式は、最後に評価した式の結果を返します。最後に評価した式
が値を返さ......ベットの大文字
で始まる識別子です。
rescue/ensure 節を指定し、例外処理ができます。
例外処理についてはd:spec/control#begin参照。
モジュール定義は、識別子で指定した定数へのモジュールの代入になります。
Ruby では、モ... -
メソッド呼び出し(super・ブロック付き・yield) (23043.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...のメソッドを持つオブジェクトのメソッド定義式内でなければ呼び出せ
ません。d:spec/def#limit を参照して下さい。
ハッシュ式の解説(d:spec/literal#hash)にも書かれている通り、
メソッド呼出の末尾にHashを渡す場合は {, } を省......略することができます。
これを用いることでキーワード引数を渡すことができます。
この Hash はd:spec/def#methodで解説されているキーワード引数に
分解されて引き渡されます。
===[a:super] super
//emlist[例][ruby]{
super
super(1,2,3)
/......new)
# => 1
# 2
# 3
//}
ブロック付きメソッドの戻り値は、通常のメソッドと同様ですが、ブロックの中から
d:spec/control#break により中断された場合は nil を返します。
break に引数を指定した場合はその値がブロック付きメソ......略することができます。
これを用いることでキーワード引数を渡すことができます。
この Hash はd:spec/def#methodで解説されているキーワード引数に
分解されて引き渡されます。
メソッド呼び出しで `.' の代わりに `&.' を使う... -
プログラム・文・式 (23037.0)
-
プログラム・文・式 * exp * terminate
...(1+2)*3
foo()
if test then ok else ng end
Ruby の式には、spec/variables、さまざまなspec/literal、それらの
spec/operator、if や while などのspec/control、spec/call、
spec/defがあります。
式は括弧によってグルーピングすることがで... -
制御構造 (23037.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...の右辺に置くと
syntax error になります)。
RubyはC言語やPerlから引き継いだ制御構造を持ちますが、
その他にd:spec/call#blockという
制御構造の抽象化を援助する機能があります。ブロック付きメソッド呼び出しは
繰り返しを始......e {a: 1, b: 2, c: 3}
in a: Integer => m
"matched: #{m}"
else
"not matched"
end
# => "matched: 1"
//}
パターンマッチ構文についてはspec/pattern_matchingで説明しています。
=== 繰り返し
====[a:while] while
//emlist[例][ruby]{
ary = [0,2,4,8,16,32,64,128,256,512,1024]......おいて文が存在しなかったときの値
はnilです。いずれにしてもensure節の値は無視されます。
d:spec/def#class、d:spec/def#module、d:spec/def#method
などの定義文では、それぞれ
begin なしで rescue, ensure 節を定義でき、これにより例外を... -
リテラル (23019.0)
-
リテラル * num * string * backslash * exp * char * command * here * regexp * array * hash * range * symbol * percent
...<<EOS,
3055 * 2 / 5) # <- この行はヒアドキュメントに含まれてしまう
This line is a here document.
EOS
開始ラベルを `<<-識別子' のように `-' を付けて書くことで終端
行をインデントすることができま......name is #{myname}/o
%r|Ruby|
//}
/で囲まれた文字列は正規表現です。正規表現として解釈される
メタ文字についてはspec/regexpを参照してください。
終りの/の直後の文字は正規表現に対するオプションになります。
オプションの......ッシュ式は評価されるたびに毎回新しいハッシュオブジェクトを生成します。
===[a:range] 範囲オブジェクト
d:spec/operator#rangeを参照
範囲式はその両端が数値リテラルであれば、何度評価されても同じオブジェク
トを返しま......とができます。
//emlist[][ruby]{
expected_result = <<~SQUIGGLY_HEREDOC
This would contain specially formatted text.
That might span many lines
SQUIGGLY_HEREDOC
# => "This would contain specially formatted text.\n" + "\n" + "That might span many lines\n"
//}
最もインデントが少... -
コマンド (23013.0)
-
コマンド Ruby では以下のコマンドが提供されます。
...かれた Ruby のドキュメントをコマンドラインから閲覧するツール。
: ruby
Ruby 本体。d:spec/rubycmd#ruby を参照。
: testrb
ユニットテスト実行ツール
これらのコマンドは以下で説明される環境変数を参照します。
* spec/envvars......ツール。rdoc を参照。
: ri
RDoc で書かれた Ruby のドキュメントをコマンドラインから閲覧するツール。
: ruby
Ruby 本体。d:spec/rubycmd#ruby を参照。
これらのコマンドは以下で説明される環境変数を参照します。
* spec/envvars... -
スレッド (23013.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
...グモード)
ruby インタプリタを -d オプション 付きで起動した場合も同様。
(オプションの詳細に関してはspec/rubycmd を参照)
* Thread.abort_on_exception でフラグを設定する。
* Thread#abort_on_exception で指定
したスレッドの......。
メインスレッドの終了時の詳細に関しては spec/terminate を参照して下さい。
=== スレッドの状態
個々のスレッドは、以下の実行状態を持ちます。これらの状態は
Object#inspect や
Thread#status によって見ることができます。... -
正規表現 (23013.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパターンを記述するための言語です。
また、この言語で......Ruby の文法で特別な意味を持つ文字を埋め込む
ためなどに用いられます。
文字列リテラルの記法とほぼ同様(d:spec/literal#backslash)で、
以下の記法が利用可能です。
\t 水平タブ horizontal tab (0x09)
\v 垂......エンコーディングが非互換で
ある場合、Encoding::CompatibilityError が発生します。
エンコーディングについては spec/m17n も参考にしてください。
Regexp#fixed_encoding? で正規表現のエンコーディングが
「固定」さているかどうかを... -
Ruby プログラムの実行 (23007.0)
-
Ruby プログラムの実行 === Ruby プログラム
...ルの式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については spec/terminate を参照のこと)。
=== 文
==== if
if 文は、まず条件式を評価し、その値が真ならば対応する本体を評価...