るりまサーチ

最速Rubyリファレンスマニュアル検索!
419件ヒット [1-100件を表示] (0.040秒)
トップページ > クエリ:パターンマッチ[x]

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

パターンマッチ (15057.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...

CSV::Row#deconstruct_keys(keys) -> Hash (34.0)

パターンマッチに使用するヘッダの名前と値の Hash を返します。

...
パターンマッチ
に使用するヘッダの名前と値の Hash を返します。

このメソッドはヘッダ名の型をシンボルに変換しないため、ヘッダ名が文字列かつ Hash パターン でパターンマッチしたい場合はキーをシンボルに変換する...
...必要があります。

@param keys パターンマッチに使用するヘッダの名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new([:header1, :header2, :header3], [1, 2, 3])
case row
in...

File.fnmatch(pattern, path, flags = 0) -> bool (34.0)

ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

...ファイル名のパターンマッチ fnmatch(3) を行います。
path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

@param pattern パターンを文字列で指定します。ワイルドカードとして `*',
`**`,...
...|
p File.fnmatch("foo*", f)
}
# => true
# true
# false
//}

@param path パスを表す文字列を指定します。

@param flags パターンマッチの動作を以下で述べる定数の論理和で指定します。
flags のデフォルト値は0(フラグ指定なし)...
...NM_NOESCAPE) # => true
//}

: FNM_PATHNAME
ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。
シェルのパターンマッチにはこのフラグが使用されています。
//emlist[][ruby]{
p File.fnmatch('*', '/', File::FNM_PATHNAME) # => false
p File.fnma...

File.fnmatch?(pattern, path, flags = 0) -> bool (34.0)

ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

...ファイル名のパターンマッチ fnmatch(3) を行います。
path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

@param pattern パターンを文字列で指定します。ワイルドカードとして `*',
`**`,...
...|
p File.fnmatch("foo*", f)
}
# => true
# true
# false
//}

@param path パスを表す文字列を指定します。

@param flags パターンマッチの動作を以下で述べる定数の論理和で指定します。
flags のデフォルト値は0(フラグ指定なし)...
...NM_NOESCAPE) # => true
//}

: FNM_PATHNAME
ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。
シェルのパターンマッチにはこのフラグが使用されています。
//emlist[][ruby]{
p File.fnmatch('*', '/', File::FNM_PATHNAME) # => false
p File.fnma...

Date#deconstruct_keys(array_of_names_or_nil) -> Hash (28.0)

パターンマッチに使用する名前と値の Hash を返します。

...
パターンマッチ
に使用する名前と値の Hash を返します。

キーに利用できる名前は以下の通りです。

* :year
* :month
* :day
* :yday
* :wday

@param array_of_names_or_nil パターンマッチに使用する名前の配列を指定します。nil の場...
...合は全てをパターンマッチに使用します。

//emlist[例][ruby]{
d = Date.new(2022, 10, 5)

if d in wday: 3, day: ..7 # deconstruct_keys が使われます
puts "first Wednesday of the month"
end
#=> "first Wednesday of the month" が出力される

case d
in year: ...2022
puts "...

絞り込み条件を変える

DateTime#deconstruct_keys(array_of_names_or_nil) -> Hash (28.0)

パターンマッチに使用する名前と値の Hash を返します。

...
パターンマッチ
に使用する名前と値の Hash を返します。

キーに利用できる名前は以下の通りです。

* :year
* :month
* :day
* :yday
* :wday
* :hour
* :min
* :sec
* :sec_fraction
* :zone

@param array_of_names_or_nil パターンマッチに使...
...用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。

//emlist[例][ruby]{
dt = DateTime.new(2022, 10, 5, 13, 30)

if dt in wday: 1..5, hour: 10..18 # deconstruct_keys が使われます
puts "Working time"
end
#=> "Working time" が出...

Time#deconstruct_keys(array_of_names_or_nil) -> Hash (28.0)

パターンマッチに使用する名前と値の Hash を返します。

...
パターンマッチ
に使用する名前と値の Hash を返します。

キーに利用できる名前は以下の通りです。

* :year
* :month
* :day
* :yday
* :wday
* :hour
* :min
* :sec
* :subsec
* :dst
* :zone

@param array_of_names_or_nil パターンマッチ...
...使用する名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。

//emlist[例][ruby]{
t = Time.utc(2022, 10, 5, 21, 25, 30)

if t in wday: 3, day: ..7 # deconstruct_keys が使われます
puts "first Wednesday of the month"
end
#=> "first Wednes...

NEWS for Ruby 2.7.0 (18.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ルか bugs.ruby-lang.org の issue を参照してください。

== 2.6.0 以降の変更

=== 言語仕様の変更

==== パターンマッチ

* パターンマッチが実験的機能として導入されました。 14912

//emlist[][ruby]{
case [0, [1, 2, 3]]
in [a, [b, *c]]
p a #=> 0...
...スライドを参照してください。
* スライドは少し古い内容になっていることに注意してください。

* パターンマッチに対する警告は「-W:no-experimental」オプションで抑制できます。

==== 3.0 に向けてのキーワード引数の仕...

CSV::Row#deconstruct -> [object] (16.0)

パターンマッチに使用する行の値の配列を返します。

...
パターンマッチ
に使用する行の値の配列を返します。

//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3"], [1, 2, 3])
case row
in [2.., 2.., 2..]
puts "all 2 or more"
in [...2, 2.., 2..]
puts "first column is less than 2, and rest columns...

File::Constants::FNM_CASEFOLD -> Integer (16.0)

アルファベットの大小文字を区別せずにパターンマッチを行います。 File.fnmatch, Dir.globで使用します。

...アルファベットの大小文字を区別せずにパターンマッチを行います。
File.fnmatch, Dir.globで使用します。...

絞り込み条件を変える

File::Constants::FNM_PATHNAME -> Integer (16.0)

ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。 シェルのパターンマッチにはこのフラグが使用されています。 File.fnmatch, Dir.globで使用します。

...ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。
シェルのパターンマッチにはこのフラグが使用されています。
File.fnmatch, Dir.globで使用します。...

Kernel$$& -> String | nil (16.0)

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。 最後のマッチが失敗していた場合には nil となります。

...現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。
最後のマッチが失敗していた場合には nil となります。

Regexp.last_match[0] と同じです。

この変数はローカルスコープかつスレッドロー...

Kernel$$&#39; -> String | nil (16.0)

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より後ろの文字列です。 最後のマッチが失敗していた場合には nil となります。

...現在のスコープで最後に成功した正規表現のパターンマッチでマッチした
部分より後ろの文字列です。
最後のマッチが失敗していた場合には nil となります。

Regexp.last_match.post_match と同じです。

この変数はローカルスコ...
<< 1 2 3 ... > >>