別のキーワード
検索結果
-
パターンマッチ (15186.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
...パターンマッチ
* patterns
* variable_binding
* variable_pinning
* matching_non_primitive_objects
* guard_clauses
* current_feature_status
* pattern_syntax
* some_undefined_behavior_examples
パターンマッチは、構造化された値に対して、構造をチェック......チを可能にする実験的な機能です。(『束縛』は、パターンマッチの輸入元である関数型言語の用語で、Ruby では代入と読み替えても問題ありません)
Rubyでのパターンマッチは in 演算子を用いて実装されており、単体の式や......2]
in [*, String, String, *]
"matched"
else
"not matched"
end
//}
===[a:variable_binding] 変数の束縛
深い構造検査の他のパターンマッチの重要な機能の1つにマッチした部分のローカル変数への束縛があります。束縛の基本的な形はマッチし......深いマッチを可能にする機能です。(『束縛』は、パターンマッチの輸入元である関数型言語の用語で、Ruby では代入と読み替えても問題ありません)
Rubyでのパターンマッチは case/in 式を用いて実装されています。
case <expr... -
Ruby用語集 (427.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...ードセパレーター(改行など)で区切られたレコードに分けられ、レコードごと
にパターンマッチングが行われる。
パターンマッチングの前に実行する前処理と後に実行する後処理も記述できる。
===[a:B] B
: Bignum
Ruby......し、切り替えて使うための
ツールの一つ。Linux、macOS などで動作する。
https://github.com/rbenv/rbenv
: RD(Ruby Document format)
Ruby スクリプト中に記述することを念頭に作られたドキュメントフォーマット。
: RDoc
Ruby スクリ......し、合わせてドキュメントの HTML を生成する。
参照:rdoc
: refinement
既存のクラスやモジュールを特定のスコープでのみ改変する仕組み。
参照:Module#refine、Module#using、main.using
: Ruby Central
Rubyのサポートと世界の Ruby... -
正規表現 (361.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...uping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパターンを記述するための言語です。
また、この言語で記述された......ョンを有効にし、offオプションを無効にする
コメント
* (?#comment here) コメント
===[a:specialvar] 特殊変数
パターンマッチしたときに、以下の特殊変数にマッチの情報をセットします。
* $~ 最後にマッチしたときの情報(MatchDa......$+ 最後(末尾)のキャプチャ文字列
これらの変数はスレッドローカルかつメソッドでローカルな変数です。
===[a:references] 参考文献
* 『正規表現技術入門――最新エンジン実装と理論的背景』新屋良磨、鈴木勇介、高田謙 著......メント
* (?#comment here) コメント
非包含オペレータ
* (?~pat) 非包含オペレータ
===[a:specialvar] 特殊変数
パターンマッチしたときに、以下の特殊変数にマッチの情報をセットします。
* $~ 最後にマッチしたときの情報(MatchData... -
制御構造 (277.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...in キーワードを通じてより強力なパターンマッチ構文を提供しています。
//emlist[][ruby]{
case {a: 1, b: 2, c: 3}
in a: Integer => m
"matched: #{m}"
else
"not matched"
end
# => "matched: 1"
//}
パターンマッチ構文についてはspec/pattern_matchingで説...