種類
- 文書 (55)
- インスタンスメソッド (11)
ライブラリ
- ビルトイン (11)
クラス
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Ruby用語集 (11)
-
to
_ a (11) - メソッド呼び出し(super・ブロック付き・yield) (11)
- 演算子式 (11)
検索結果
先頭5件
-
制御構造 (15177.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...制御構造
条件分岐:
* if
* unless
* case
繰り返し:
* while
* until
* for
* break
* next
* redo
* retry
例外処理:
* raise
* begin
その他:
* return
* BEGIN
* END
Rubyでは(Cなどとは異なり)制御構造は式であ......はC言語やPerlから引き継いだ制御構造を持ちますが、
その他にd:spec/call#blockという
制御構造の抽象化を援助する機能があります。ブロック付きメソッド呼び出しは
繰り返しを始めとする制御構造をクラス設計者が定義する......//emlist[][ruby]{
for i,j in [1, 2, 3]
p [i,j]
end
# => [1, nil]
# [2, nil]
# [3, nil]
# [1,2] [3,nil] を期待するかもしれないがそうはならない
//}
代わりにそのようなメソッド(イテレータ)を定義する必要があります。
//emlist[][ruby]{
class Arr... -
メソッド呼び出し(super・ブロック付き・yield) (3114.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...メソッド呼び出し(super・ブロック付き・yield)
* super
* block
* yield
* block_arg
* numbered_parameters
* call_method
//emlist[例][ruby]{
foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new
//}
文法:
[式 `.'] 識別子 [`(' [[`*']......`.' と `::' とはほぼ同じ意味です。但し、定数を表す場合は、
`::' を使わなければいけません(例: Math::PI)。逆に、
//emlist[][ruby]{
Klass::Foo
//}
とした場合、常に定数と見なされるという制限があります。
`::' を、クラスメソッ......[1,2,3].each {|i| print i*2, "\n" }
//}
文法:
method(arg1, arg2, ...) do [`|' 式 ... `|'] 式 ... end
method(arg1, arg2, ...) `{' [`|' 式 ... `|'] 式 ... `}'
method(arg1, arg2, ..., `&' proc_object)
ブロック付きメソッドとは制御構造の抽象化... -
RubyVM
:: InstructionSequence # to _ a -> Array (3012.0) -
self の情報を 14 要素の配列にして返します。
...ンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージ......場合は "<compiled>"。
: #absolute_path
命令シーケンスの絶対パス。文字列から作成していた場合は nil。
: #first_lineno
命令シーケンスの 1 行目の行番号。
: type
命令シーケンスの種別。
:top、:method、:block、:class、:rescue、:en......下のよう
な配列。
[required_argc, [optional_arg_labels, ...],
splat_index, post_splat_argc, post_splat_index,
block_index, simple]
より詳細な情報については、vm_core.h を参照。
: catch_table
例外や制御構造のオペレータ(rescue、next、redo... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (822.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...の変更点(まとめ)/Windows 対応>))
* ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>))
* ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>))
* ((<1.6.8から1.8.0......nil の指定(-W0)を可能にします。
: ruby interpreter [ruby] [change]
クラスの特異クラスの特異クラスは特異クラス自身であると定義されました
((<ruby-bugs-ja:313>))。なんだかよくわかりません(^^;
class << Object
p [self.id,......タス [compat]
raise SystemExit したときに終了ステータス 1 で終了するようになりました。
((<ruby-dev:16776>))
: ((<"rescue/ensure on begin .. end while"|制御構造/while 修飾子>)) [compat]
rescue/ensure を持つ begin 式も while/until 修飾できるよう... -
Ruby用語集 (148.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-ba......ーションソフト組込みに適した特徴を持つ。
https://mruby.org/
: main
トップレベルにおける self。Object クラスのインスタンスである。
===[a:N] N
: nil
NilClass の唯一のインスタンス。また、そのオブジェクトを指す擬似変数......出
: non-local exit
Ruby においては、例外の発生もしくは Kernel.#throw によって
処理の実行が中断されること。
例外の場合は begin/rescue によって、throw の場合は
Kernel.#catch によって捕捉されるまで、制御構造やメソッド
呼... -
演算子式 (78.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
...演算子式
* assign
* selfassign
* multiassign
* range
* range_cond
* and
* or
* not
* cond
//emlist[例][ruby]{
1+2*3/4
//}
プログラミングの利便のために一部のメソッド呼び出しと制御構造は演算子形
式をとります。Rubyには以下にあげ......は演算子の優先順位です。
例えば「&&」は「||」より優先順位が高いので、以下のように
解釈されます。
//emlist[][ruby]{
a && b || c #=> (a && b) || c
a || b && c #=> a || (b && c)
//}
ほとんどの演算子は特別な形式のメソッド呼び出し......配列参照
//emlist{
式1`[' 式2 ... `]' `=' 式n
//}
式1を評価して得られるオブジェクトに対しての、式 2 から式 n までを
引数とする []= メソッド呼び出しに変換されます。
//emlist[例][ruby]{
class C
def initialize
@ary = [0,1...