別のキーワード
ライブラリ
- ビルトイン (682)
- abbrev (24)
- expect (24)
-
irb
/ cmd / help (12) - mkmf (24)
- pathname (88)
- rake (132)
-
rake
/ testtask (24) -
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
/ builtin-command (6) -
shell
/ command-processor (6) -
shell
/ filter (6) - shellwords (12)
クラス
- Array (71)
- Dir (36)
- Enumerator (6)
-
Enumerator
:: Lazy (45) - File (24)
-
Gem
:: SourceIndex (12) -
Gem
:: SourceInfoCache (24) - IO (24)
-
IRB
:: ExtendCommand :: Help (12) - MatchData (4)
- Pathname (88)
-
RDoc
:: Markup (12) -
Rake
:: Application (12) -
Rake
:: FileList (96) -
Rake
:: TestTask (24) - Regexp (12)
-
Rinda
:: TupleSpace (12) -
Rinda
:: TupleSpaceProxy (12) - Ripper (24)
- Shell (6)
-
Shell
:: CommandProcessor (6) -
Shell
:: Filter (6) -
Shell
:: Glob (6) - String (282)
モジュール
- Abbrev (12)
- Enumerable (160)
- Gem (12)
- Kernel (84)
- Rake (12)
- Shellwords (12)
キーワード
-
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) - NoMatchingPatternError (6)
-
WIN
_ PATTERNS (12) - [] (12)
- abbrev (24)
-
add
_ special (12) - all? (45)
- any? (48)
- application= (12)
- byteindex (3)
- byterindex (3)
- captures (2)
- deconstruct (2)
- egrep (12)
-
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)
- new (18)
- none? (15)
- notify (24)
- one? (15)
-
pathmap
_ replace (12) - pattern= (12)
- produce (6)
- rake (12)
- rdoc (12)
- rindex (12)
-
ruby 1
. 8 . 4 feature (12) - scan (24)
- search (24)
-
search
_ with _ source (12) - shellescape (12)
- slice (12)
-
slice
_ after (35) -
slice
_ before (36) - sub (96)
- sub! (48)
-
token
_ match (12) - tr (12)
- tr! (12)
-
tr
_ s (12) -
tr
_ s! (12) - union (12)
- パターンマッチ (12)
- 制御構造 (12)
- 正規表現 (12)
検索結果
先頭5件
-
Enumerable
# grep(pattern) -> [object] (6224.0) -
pattern === item が成立する要素を全て含んだ配列を返します。
...
pattern === item が成立する要素を全て含んだ配列を返します。
ブロックとともに呼び出された時には条件の成立した要素に対して
それぞれブロックを評価し、その結果の配列を返します。
マッチする要素がひとつもなかっ......す。
@param pattern 「===」メソッドを持つオブジェクトを指定します。
//emlist[例][ruby]{
['aa', 'bb', 'cc', 'dd', 'ee'].grep(/[bc]/) # => ["bb", "cc"]
Array.instance_methods.grep(/gr/) # => [:grep, :grep_v, :group_by]
//}
@see Enumerable#select
@see Enumerable#grep_v... -
Enumerable
# grep(pattern) {|item| . . . } -> [object] (6224.0) -
pattern === item が成立する要素を全て含んだ配列を返します。
...
pattern === item が成立する要素を全て含んだ配列を返します。
ブロックとともに呼び出された時には条件の成立した要素に対して
それぞれブロックを評価し、その結果の配列を返します。
マッチする要素がひとつもなかっ......す。
@param pattern 「===」メソッドを持つオブジェクトを指定します。
//emlist[例][ruby]{
['aa', 'bb', 'cc', 'dd', 'ee'].grep(/[bc]/) # => ["bb", "cc"]
Array.instance_methods.grep(/gr/) # => [:grep, :grep_v, :group_by]
//}
@see Enumerable#select
@see Enumerable#grep_v... -
Enumerable
# grep _ v(pattern) -> [object] (6224.0) -
Enumerable#grep のマッチの条件を逆にして、pattern === item が成立 しない要素を全て含んだ配列を返します。
...ep のマッチの条件を逆にして、pattern === item が成立
しない要素を全て含んだ配列を返します。
@param pattern 「===」メソッドを持つオブジェクトを指定します。
//emlist[例][ruby]{
(1..10).grep_v 2..5 # => [1, 6, 7, 8, 9, 10]
res =(1..10).grep_......v(2..5) { |v| v * 2 }
res # => [2, 12, 14, 16, 18, 20]
//}
@see Enumerable#grep
@see Enumerable#reject... -
Enumerable
# grep _ v(pattern) { |item| . . . } -> [object] (6224.0) -
Enumerable#grep のマッチの条件を逆にして、pattern === item が成立 しない要素を全て含んだ配列を返します。
...ep のマッチの条件を逆にして、pattern === item が成立
しない要素を全て含んだ配列を返します。
@param pattern 「===」メソッドを持つオブジェクトを指定します。
//emlist[例][ruby]{
(1..10).grep_v 2..5 # => [1, 6, 7, 8, 9, 10]
res =(1..10).grep_......v(2..5) { |v| v * 2 }
res # => [2, 12, 14, 16, 18, 20]
//}
@see Enumerable#grep
@see Enumerable#reject... -
Kernel
# egrep _ cpp(pattern , src , opt = "") -> bool (6224.0) -
C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。
...C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。
CPP $CFLAGS opt | egrep pat
を実行し、その結果が正常かどうかを true または false で返します。
このメソッ......の宣言があるかどうか
検査するために使用します。
@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。
@param src C 言語のソースコードを文字列で記述します。
@see egrep(1)... -
Kernel
# egrep _ cpp(pattern , src , opt = "") { . . . } -> bool (6224.0) -
C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。
...C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。
CPP $CFLAGS opt | egrep pat
を実行し、その結果が正常かどうかを true または false で返します。
このメソッ......の宣言があるかどうか
検査するために使用します。
@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。
@param src C 言語のソースコードを文字列で記述します。
@see egrep(1)... -
RDoc
:: Markup # add _ special(pattern , name) -> () (6223.0) -
pattern で指定した正規表現にマッチする文字列をフォーマットの対象にしま す。
...
pattern で指定した正規表現にマッチする文字列をフォーマットの対象にしま
す。
例えば WikiWord のような、SM::SimpleMarkup#add_word_pair、
SM::SimpleMarkup#add_html でフォーマットできないものに対して使用
します。
@param pattern 正規......す。
@param name SM::ToHtml などのフォーマッタに識別させる時の名前を
Symbol で指定します。
例:
require 'rdoc/markup/simple_markup'
require 'rdoc/markup/simple_markup/to_html'
class WikiHtml < SM::ToHtml
def handle_special_WIKIWORD(special)......"<font color=red>" + special.text + "</font>"
end
end
m = SM::SimpleMarkup.new
m.add_special(/\b([A-Z][a-z]+[A-Z]\w+)/, :WIKIWORD)
h = WikiHtml.new
puts m.convert(input_string, h)
変換時に実際にフォーマットを行うには SM::ToHtml#accept_special_<name で指定し... -
Enumerator
. produce(initial = nil) { |prev| . . . } -> Enumerator (6212.0) -
与えられたブロックを呼び出し続ける、停止しない Enumerator を返します。 ブロックの戻り値が、次にブロックを呼び出す時に引数として渡されます。 initial 引数が渡された場合、最初にブロックを呼び出す時にそれがブロック 呼び出しの引数として渡されます。initial が渡されなかった場合は nil が 渡されます。
...ブロックが例外 StopIterationを投げた場合、繰り返しが終了します。
@param initial ブロックに最初に渡される値です。任意のオブジェクトを渡せます。
//emlist[例][ruby]{
# 1, 2, 3, 4, ... と続く Enumerator
Enumerator.produce(1, &:succ)
# next......数値を返す Enumerator
Enumerator.produce { rand(10) }
# ツリー構造の祖先ノードを列挙する Enumerator
ancestors = Enumerator.produce(node) { |prev| node = prev.parent or raise StopIteration }
enclosing_section = ancestors.find { |n| n.type == :section }
//}
このメソッドは......曜日を返す例
require "date"
Enumerator.produce(Date.today, &:succ).detect(&:tuesday?)
# シンプルなレキサーの例
require "strscan"
scanner = StringScanner.new("7+38/6")
PATTERN = %r{\d+|[-/+*]}
Enumerator.produce { scanner.scan(PATTERN) }.slice_after { scanner.eos? }.first
# => ["7",... -
Rake
. application=(app) (6212.0) -
現在の Rake アプリケーションをセットします。
...。
@param app Rake::Application のインスタンスを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'pp'
task default: :test_rake_app
task :test_rake_app do
app = Rake::Application.new
app.tty_output = true
Rake.application = app
pp Rake.application......end
# => #<Rake::Application:0x00005624e6c30eb8
# @default_loader=#<Rake::DefaultLoader:0x00005624e6c30cd8>,
# @imported=[],
# @last_description=nil,
# @loaders=
# {".rb"=>#<Rake::DefaultLoader:0x00005624e6c30bc0>,
# ".rf"=>#<Rake::DefaultLoader:0x00005624e6c30b48>,
#......e",
# @options=
# #<OpenStruct always_multitask=false, backtrace=false, build_all=false, dryrun=false, ignore_deprecate=false, ignore_system=false, job_stats=false, load_system=false, nosearch=false, rakelib=["rakelib"], show_all_tasks=false, show_prereqs=false, show_task_pattern=nil, show_... -
パターンマッチ (6208.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 式の中......ッチせず else 節がない場合、例外 NoMatchingPatternError が発生します。
そのため、条件付きのマッチや展開に case 式が使われることがあります。
//emlist[][ruby]{
config = {db: {user: 'admin', password: 'abc123'}}
case config
in db: {user:} # ネス...