ライブラリ
- ビルトイン (805)
- abbrev (24)
- csv (6)
- date (4)
- expect (24)
-
irb
/ cmd / help (12) - mkmf (24)
- pathname (88)
- rake (108)
-
rake
/ testtask (12) -
rdoc
/ markup (12) -
rinda
/ rinda (12) -
rinda
/ tuplespace (12) -
ripper
/ lexer (24) - rubygems (12)
-
rubygems
/ source _ index (12) -
rubygems
/ source _ info _ cache (24) - shell (6)
-
shell
/ command-processor (6) -
shell
/ filter (6) - shellwords (24)
クラス
- Array (99)
-
CSV
:: Row (6) - Data (6)
- Date (2)
- DateTime (2)
- Dir (36)
- Enumerator (6)
-
Enumerator
:: Lazy (80) - File (24)
-
Gem
:: SourceIndex (12) -
Gem
:: SourceInfoCache (24) - IO (24)
-
IRB
:: ExtendCommand :: Help (12) - MatchData (6)
- Pathname (88)
-
RDoc
:: Markup (12) -
Rake
:: Application (12) -
Rake
:: FileList (72) -
Rake
:: TestTask (12) - Regexp (12)
-
Rinda
:: TupleSpace (12) -
Rinda
:: TupleSpaceProxy (12) - Ripper (24)
- Shell (6)
-
Shell
:: CommandProcessor (6) -
Shell
:: Filter (6) - String (282)
- Struct (24)
- Time (2)
モジュール
- Abbrev (12)
- Enumerable (192)
- FileUtils (12)
- Gem (12)
- Kernel (84)
- Shellwords (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
DEFAULT
_ IGNORE _ PATTERNS (12) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) -
WIN
_ PATTERNS (12) - [] (12)
- abbrev (24)
-
add
_ special (12) - all? (45)
- any? (48)
- byteindex (3)
- byterindex (3)
- captures (2)
- deconstruct (14)
-
deconstruct
_ keys (20) -
egrep
_ cpp (24) - exclude (12)
- execute (12)
- expect (24)
- fnmatch (24)
- fnmatch? (24)
- glob (82)
- grep (36)
-
grep
_ v (34) - gsub (96)
- gsub! (60)
- index (12)
- irb (12)
- none? (45)
- notify (24)
- one? (45)
-
pathmap
_ replace (12) - produce (6)
- rake (12)
- rdoc (12)
- rindex (12)
-
ruby 1
. 8 . 4 feature (12) - scan (24)
- search (24)
-
search
_ with _ source (12) - sh (12)
- shellescape (12)
- shelljoin (12)
- slice (12)
-
slice
_ after (46) -
slice
_ before (60) - sub (96)
- sub! (48)
-
test
/ unit (1) -
to
_ a (6) -
token
_ match (12) - tr (12)
- tr! (12)
-
tr
_ s (12) -
tr
_ s! (12) - union (12)
- values (6)
- オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (12)
- パターンマッチ (12)
- 制御構造 (12)
- 正規表現 (12)
検索結果
先頭5件
-
Rake
:: TestTask # pattern -> String (18201.0) -
テストファイルにマッチする glob パターンを返します。
テストファイルにマッチする glob パターンを返します。
デフォルトは 'test/test*.rb' です。 -
Gem
:: WIN _ PATTERNS -> Array (6200.0) -
Windows 上で動いている Ruby を識別するための正規表現の配列。
Windows 上で動いている Ruby を識別するための正規表現の配列。 -
Rake
:: FileList :: DEFAULT _ IGNORE _ PATTERNS -> Array (6200.0) -
デフォルトで除外するパターンのリストです。
デフォルトで除外するパターンのリストです。 -
パターンマッチ (3292.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
パターンマッチは、構造化された値に対して、構造をチェック......in 演算子を用いて実装されており、単体の式や
<expression> in <pattern>
case 文の中で利用できます。
case <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end
in 節と when 節は1つの case 式の中に混......hed. expectation was: #{expectation}"
end
# 期待する動作:"not matched. expectation was: 18"
# 実際の動作:"matched. expectation was: 1" -- ローカル変数が上書きされてしまっている
//}
この場合、Ruby に「この値をパターンの部品として利用するよ......<pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end
in 節と when 節は1つの case 式の中に混ぜて書くことはできません。
『=>』 演算子と in 演算子で、単体の式で使用することも可能です。
<expression> => <pattern>... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (2520.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への変更点(まとめ)/サポートプラットフォームの追加>))
...作はなくなりました)
$defout や $deferr に代入を行うと警告がでます。
(注:1.6 に $deferr はありません)
((<ruby-dev:20961>))
$stdin にオブジェクトを代入すると標準入力からの入力メソッド(gets 等)
はそのオブジェクトにメソ......: 警告を出力しない (-W0 新しい警告レベル)
* false: 重要な警告のみ出力 (-W1 デフォルト)
* true: すべての警告を出力する (-W2 or -W or -v or -w or --verbose)
追加された -W オプションは $VERBOSE = nil の指定(-W0)を可能にします。
:......solete]
: ((<String#=~|String/=~>)) [obsolete]
: ((<組み込み変数/$;>)) [compat]
: ((<組み込み変数/$-F>)) [compat]
: ((<Rubyの起動/-F((*regexp*))>)) [compat]
pattern として正規表現でなく文字列を指定したとき、それを正規表現にコ
ンパイルせず... -
ruby 1
. 8 . 4 feature (1458.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど
* 互換性のある変更
* only backward-compatibility
* 影響の範囲が小さいと思われる変更もこちら
* [change]: 変更されたクラス/メソッドなど(互換......xed: [ruby-talk:166529]
式展開で空のSymbolを作ることができたバグの修正。 ((<ruby-talk:166529>))
p :""
# => ruby 1.8.3 (2005-09-21) [i686-linux]
-:1: empty symbol literal
# => ruby 1.8.4 (2005-12-16) [i686-linux]
-:1: empty......ux]
-:3:in `foo'-:3: warning: too many arguments for format string
: super: no superclass method `foo' (NoMethodError)
from -:7
: 正規表現 [bug]
#Wed Oct 19 01:27:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
#
# * regex.c (re_compile_pattern):... -
正規表現 (642.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...るよう
になる場合があります。つまりメタ文字列を構成します。例えば
//emlist[][ruby]{
/[a-z]/
/\Axyz\Z/
//}
という正規表現において "[a-z]", "\A", "\Z"はメタ文字列です。
===[a:expansion] 式展開
正規表現内では、#{式} という形式で......タ文字が含まれているならば、それは
メタ文字として認識されます。
//emlist[][ruby]{
number = "(\\d+)"
operator = "(\\+|-|\\*|/)"
/#{number}#{operator}#{number}/.match("43+291")
# => #<MatchData "43+291" 1:"43" 2:"+" 3:"291">
//}
埋め込む文字列をリテラルと......続けて書くことができます。
//emlist[][ruby]{
# The pattern below matches a vowel followed by 2 word characters:
# 'aen'
/[aeiou]\w{2}/.match("Caenorhabditis elegans") #=> #<MatchData "aen">
# Whereas the following pattern matches a vowel followed by a word
# character, twice, i.e. <tt>... -
NEWS for Ruby 2
. 7 . 0 (354.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...は参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.6.0 以降の変更
=== 言語仕様の変更
==== パターンマッチ
* パターンマ......case {a: 0, b: 1}
in {a: 0, x: 1}
:unreachable
in {a: 0, b: var}
p var #=> 1
end
//}
//emlist[][ruby]{
case -1
in 0 then :unreachable
in 1 then :unreachable
end #=> NoMatchingPatternError
//}
//emlist{
json = <<END
{
"name": "Alice",
"age": 30,
"children": [{ "name": "Bob", "age": 2 }]......ngPatternError
//}
* 詳細は https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7 のスライドを参照してください。
* スライドは少し古い内容になっていることに注意してください。
* パターンマッチに対する警告は「-W:... -
String
# tr(pattern , replace) -> String (337.0) -
pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に置き換えます。
...
pattern 文字列に含まれる文字を検索し、
それを replace 文字列の対応する文字に置き換えます。
pattern の形式は tr(1) と同じです。つまり、
`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外......す。
replace に対しても `-' による範囲指定が可能です。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
`^' も文字列の先頭にあるときにだけ否定の効果を発揮します。
また、`-', `^', `\' はバックスラッシ......ケープできます。
replace の範囲が pattern の範囲よりも小さい場合は、
replace の最後の文字が無限に続くものとして扱われます。
@param pattern 置き換える文字のパターン
@param replace pattern で指定した文字を置き換える文字...