ライブラリ
- ビルトイン (110)
- abbrev (2)
- csv (3)
- expect (2)
-
irb
/ magic-file (1) - mkmf (2)
- openssl (5)
- optparse (12)
- pathname (1)
- rake (2)
-
rdoc
/ markup (3) -
rdoc
/ parser (2) - resolv (7)
-
rexml
/ parsers / sax2parser (5) -
ripper
/ lexer (1) - rubygems (1)
-
rubygems
/ dependency (2) - strscan (12)
- uri (5)
-
webrick
/ httputils (2)
クラス
- Array (1)
- CSV (3)
-
Gem
:: Dependency (2) - IO (2)
- MatchData (10)
- NilClass (1)
- Object (2)
- OptionParser (12)
- Pathname (1)
-
RDoc
:: Markup (3) -
RDoc
:: Options (2) -
RDoc
:: Parser (2) -
REXML
:: Parsers :: SAX2Parser (5) -
Rake
:: FileList (1) - Regexp (28)
- Resolv (1)
-
Resolv
:: IPv4 (1) -
Resolv
:: IPv6 (5) - Ripper (1)
- String (45)
- StringScanner (11)
- Symbol (11)
モジュール
- Abbrev (1)
- Gem (1)
- Kernel (15)
-
OpenSSL
:: Buffering (5) - URI (5)
-
WEBrick
:: HTTPUtils (2)
オブジェクト
-
IRB
:: MagicFile (1)
キーワード
-
$ & (1) -
$ & # 39; (1) -
$ + (1) -
$ -0 (1) -
$ -F (1) -
$ / (1) -
$ ; (1) -
$ ` (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - == (2)
- === (1)
- =~ (6)
- AddressRegex (1)
- DateMatcher (1)
- DateTimeMatcher (1)
-
ENCODING
_ SPEC _ RE (1) - EXTENDED (1)
- FIXEDENCODING (1)
- IGNORECASE (1)
-
LABEL
_ LIST _ RE (1) - MULTILINE (1)
-
NEWS for Ruby 2
. 5 . 0 (1) - NOENCODING (1)
- Regex (2)
-
Regex
_ 6Hex4Dec (1) -
Regex
_ 8Hex (1) -
Regex
_ CompressedHex (1) -
Regex
_ CompressedHex4Dec (1) - RegexpError (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- Ruby用語集 (1)
-
SEPARATOR
_ PAT (1) -
SIMPLE
_ LIST _ RE (1) - StringScanner (1)
- UNSAFE (1)
-
WIN
_ PATTERNS (1) - [] (13)
- []= (5)
- abbrev (2)
-
add
_ special (1) - casefold? (1)
- check (1)
-
check
_ until (1) - compile (1)
- each (1)
-
each
_ line (1) -
egrep
_ cpp (2) - encode (1)
- encoding (1)
- eql? (2)
- escape (3)
-
escape
_ path (1) - exclude (2)
- exist? (1)
- expect (2)
-
extra
_ accessors (1) -
fixed
_ encoding? (1) - gets (1)
- gsub (7)
- gsub! (4)
- hash (2)
- index (1)
-
last
_ match (2) - listen (5)
- match (5)
- match? (4)
- name (1)
-
named
_ captures (1) - names (1)
- new (2)
- offset (2)
- on (12)
-
parse
_ files _ matching (1) - parsers (1)
- partition (1)
- pathmap (1)
- quote (1)
- readline (1)
- readlines (1)
- regexp (3)
- rindex (1)
- rpartition (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 9 feature (1) -
rubygems
/ commands / query _ command (1) - scan (3)
-
scan
_ full (1) -
scan
_ until (1) -
search
_ full (1) - skip (1)
-
skip
_ until (1) - slice (12)
- source (1)
- split (2)
-
start
_ with? (1) - sub (5)
- sub! (3)
-
to
_ regexp (1) -
to
_ s (1) - union (1)
-
values
_ at (1) - はじめに (1)
- クラス/メソッドの定義 (1)
- リテラル (1)
- 制御構造 (1)
- 多言語化 (1)
検索結果
先頭5件
-
正規表現 (57160.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
正規表現
* metachar
* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパタ... -
ruby 1
. 6 feature (34147.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
RDoc
:: Parser . parsers -> [[Regexp , RDoc :: Parser]] (27949.0) -
RDoc::Parser#parse_files_matching で登録した正規表現とパーサクラ スの配列の配列を返します。
RDoc::Parser#parse_files_matching で登録した正規表現とパーサクラ
スの配列の配列を返します。 -
Kernel
$ $ -F -> Regexp | String | nil (27655.0) -
String#split で引数を省略した場合の区切り文字です。
String#split で引数を省略した場合の区切り文字です。
Ruby 2.7からは nil 以外に変更することは非推奨になったため、
nil 以外を代入すると警告がでるようになりました。
nilを設定すると特殊な分割を行います。
詳細は String#split を参照してください。
コマンドラインオプション -F を指定して Ruby を起動した場合、
初期値は -F で指定した値です。
それ以外の時には初期値は nil です。
$; には任意のオブジェクトを代入できます。
ただし、String#split の仕様変更を考慮すると
常に正規表現を指定すべきです。
Ruby ... -
Resolv
:: AddressRegex -> Regexp (27649.0) -
IPアドレスにマッチする正規表現です。
IPアドレスにマッチする正規表現です。 -
Abbrev
. # abbrev(words , pattern = nil) -> Hash (27619.0) -
文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
文字列の配列から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。
第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。
@param words 元となる文字列の配列。
@param pattern Regexp か String を指定します。
@return 短縮形をキー、元の文字列を値とするハッシュを返します。
require 'abbrev'
# words に同じ文字列が含まれ... -
Kernel
$ $ -0 -> String | nil (27355.0) -
入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。
入力レコード区切りを表す文字列です。
awk の RS 変数のように働きます。
Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。
Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が既定値となります。そうでないとき、既定値は "\n" です。
この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。
空文字列 "" を設定するとパラグラフモードとみなされ、
2 つ以上連続した改行が「行」の区切りになります。
$/ には正規表現は使えません。
この変数はグローバルスコープです。
... -
ruby 1
. 9 feature (23887.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ... -
ruby 1
. 8 . 3 feature (23059.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
ruby 1
. 8 . 4 feature (22519.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
ruby 1
. 8 . 2 feature (22141.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
Resolv
:: IPv6 :: Regex _ 6Hex4Dec -> Regexp (19045.0) -
IPv6の各文字列表記とマッチする正規表現です。順に * a:b:c:d:e:f:w.x.y.z * a:b:c:d:e:f:g:h * a::b * a::b:w.x.y.z という文字列とマッチします。
IPv6の各文字列表記とマッチする正規表現です。順に
* a:b:c:d:e:f:w.x.y.z
* a:b:c:d:e:f:g:h
* a::b
* a::b:w.x.y.z
という文字列とマッチします。 -
Resolv
:: IPv6 :: Regex _ 8Hex -> Regexp (19045.0) -
IPv6の各文字列表記とマッチする正規表現です。順に * a:b:c:d:e:f:w.x.y.z * a:b:c:d:e:f:g:h * a::b * a::b:w.x.y.z という文字列とマッチします。
IPv6の各文字列表記とマッチする正規表現です。順に
* a:b:c:d:e:f:w.x.y.z
* a:b:c:d:e:f:g:h
* a::b
* a::b:w.x.y.z
という文字列とマッチします。 -
Resolv
:: IPv6 :: Regex _ CompressedHex -> Regexp (19045.0) -
IPv6の各文字列表記とマッチする正規表現です。順に * a:b:c:d:e:f:w.x.y.z * a:b:c:d:e:f:g:h * a::b * a::b:w.x.y.z という文字列とマッチします。
IPv6の各文字列表記とマッチする正規表現です。順に
* a:b:c:d:e:f:w.x.y.z
* a:b:c:d:e:f:g:h
* a::b
* a::b:w.x.y.z
という文字列とマッチします。 -
Resolv
:: IPv6 :: Regex _ CompressedHex4Dec -> Regexp (19045.0) -
IPv6の各文字列表記とマッチする正規表現です。順に * a:b:c:d:e:f:w.x.y.z * a:b:c:d:e:f:g:h * a::b * a::b:w.x.y.z という文字列とマッチします。
IPv6の各文字列表記とマッチする正規表現です。順に
* a:b:c:d:e:f:w.x.y.z
* a:b:c:d:e:f:g:h
* a::b
* a::b:w.x.y.z
という文字列とマッチします。 -
URI
. regexp -> Regexp (19021.0) -
URIにマッチする正規表現を返します。
URIにマッチする正規表現を返します。
schemes を与えた場合は、そのスキームの URI にのみマッチする
正規表現を返します。
いずれの場合も返り値の正規表現は不定数の正規表現グループ
(括弧) を含みます。この括弧の数はバージョンによって変動
する可能性があるので、それに依存したコードを書くべきでは
ありません。
また、有効なURIではない文字列(たとえば"http://") にも
マッチするため、有効なURIかどうかは必要に応じて別途
検査してください。
このメソッドは Ruby 2.2 から obsolete です。
@param schemes マッチさせたいスキー... -
URI
. regexp(schemes) -> Regexp (19021.0) -
URIにマッチする正規表現を返します。
URIにマッチする正規表現を返します。
schemes を与えた場合は、そのスキームの URI にのみマッチする
正規表現を返します。
いずれの場合も返り値の正規表現は不定数の正規表現グループ
(括弧) を含みます。この括弧の数はバージョンによって変動
する可能性があるので、それに依存したコードを書くべきでは
ありません。
また、有効なURIではない文字列(たとえば"http://") にも
マッチするため、有効なURIかどうかは必要に応じて別途
検査してください。
このメソッドは Ruby 2.2 から obsolete です。
@param schemes マッチさせたいスキー... -
CSV
. new(data , options = Hash . new) -> CSV (18973.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
このメソッドは CSV ファイルを読み込んだり、書き出したりするために
String か IO のインスタンスをラップします。
ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。
@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。... -
REXML
:: Parsers :: SAX2Parser # listen(ary , listener) -> () (18955.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(listener) -> () (18955.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
MatchData
# regexp -> Regexp (18949.0) -
自身の元になった正規表現オブジェクトを返します。
自身の元になった正規表現オブジェクトを返します。
//emlist[例][ruby]{
m = /a.*b/.match("abc")
m.regexp # => /a.*b/
//} -
RDoc
:: Options # exclude -> Regexp (18949.0) -
コマンドライン引数の --exclude オプションで指定した正規表現を返します。 複数指定していた場合は、1 つの Regexp オブジェクトにまとめられた ものを返します。
コマンドライン引数の --exclude オプションで指定した正規表現を返します。
複数指定していた場合は、1 つの Regexp オブジェクトにまとめられた
ものを返します。 -
RDoc
:: Options # extra _ accessors -> Regexp | nil (18949.0) -
コマンドライン引数の --accessor オプションで指定したアクセサの名前すべ てにマッチする正規表現オブジェクトを返します。
コマンドライン引数の --accessor オプションで指定したアクセサの名前すべ
てにマッチする正規表現オブジェクトを返します。
指定しなかった場合は nil を返します。 -
Regexp
# encoding -> Encoding (18949.0) -
正規表現オブジェクトのエンコーディングを表す Encoding オブジェクト を返します。
正規表現オブジェクトのエンコーディングを表す Encoding オブジェクト
を返します。
@see d:spec/regexp#encoding -
Resolv
:: IPv4 :: Regex -> Regexp (18949.0) -
IPv4 のアドレスの正規表現です。
IPv4 のアドレスの正規表現です。 -
Resolv
:: IPv6 :: Regex -> Regexp (18949.0) -
IPv6のアドレスの正規表現です。 Resolv::IPv6::Regex_6Hex4Dec, Resolv::IPv6::Regex_8Hex, Resolv::IPv6::Regex_CompressedHex, Resolv::IPv6::Regex_CompressedHex4Dec, のいずれかとマッチする文字列とマッチします。
IPv6のアドレスの正規表現です。
Resolv::IPv6::Regex_6Hex4Dec,
Resolv::IPv6::Regex_8Hex,
Resolv::IPv6::Regex_CompressedHex,
Resolv::IPv6::Regex_CompressedHex4Dec,
のいずれかとマッチする文字列とマッチします。 -
Object
# to _ regexp -> Regexp (18937.0) -
オブジェクトの Regexp への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
オブジェクトの Regexp への暗黙の変換が必要なときに内部で呼ばれます。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* 正規表現が使われるすべての場面で代置可能であるような、
* 正規表現そのものとみなせるようなもの
という厳しいものになっています。
//emlist[][ruby]{
class Foo
def to_regexp
/[\d]+/
end
end
it = Foo.... -
StringScanner
# exist?(regexp) -> Integer | nil (18937.0) -
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.exist?(/s/) # => 3
s.exist?(//) # => 0
s.scan(/\w+/) # => "test"
s.exist?(/s/) # => 2
s.exis... -
Regexp
# fixed _ encoding? -> bool (18901.0) -
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
//emlist[例][ruby]{
# -*- coding:utf-8 -*-
r = /a/
r.fixed_encoding? # => false
r.encoding # => #<Encoding:US-ASCII>
r =~ "\u{6666} a" # => 2
r =~ "\xa1\... -
URI
:: UNSAFE -> Regexp (18745.0) -
URIとして指定できない文字にマッチする正規表現 /[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n です。
URIとして指定できない文字にマッチする正規表現
/[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n
です。 -
Regexp
. compile(string , option = nil , code = nil) -> Regexp (18739.0) -
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。
@param string 正規表現を文字列として与えます。
@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals... -
Regexp
. new(string , option = nil , code = nil) -> Regexp (18739.0) -
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。
@param string 正規表現を文字列として与えます。
@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals... -
MatchData
# values _ at(*index) -> [String] (18721.0) -
正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
0 番目は $& のようにマッチした文字列全体を表します。
@param index インデックスを整数またはシンボル(名前付きキャプチャの場合)で 0 個以上指定します。
//emlist[例][ruby]{
m = /(foo)(bar)(baz)/.match("foobarbaz")
# same as m.to_a.values_at(...)
p m.values_at(0, 1, 2, 3, 4) # => ["foobarbaz", "foo", "bar", "baz", nil]
p m... -
RDoc
:: Markup # add _ special(pattern , name) -> () (18721.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 '... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (18709.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して... -
Regexp
:: MULTILINE -> Integer (18697.0) -
複数行モード。正規表現 "." が改行にマッチするようになります。 正規表現リテラルの //m オプションと同じです。
複数行モード。正規表現 "." が改行にマッチするようになります。
正規表現リテラルの //m オプションと同じです。 -
URI
. encode(str , unsafe = URI :: UNSAFE) -> String (18691.0) -
URI 文字列をエンコードした文字列を返します。
URI 文字列をエンコードした文字列を返します。
このメソッドは obsolete です。
代わりに
ERB::Util.#url_encode,
CGI.escape,
URI.encode_www_form_component,
WEBrick::HTTPUtils.#escape_form,
WEBrick::HTTPUtils.#escape
などの使用を検討してください。
詳細は 29293 からのスレッドを参照してください。
例:
require 'uri'
p URI.escape('http://images.google.co.jp/images?q=モナリザ... -
URI
. escape(str , unsafe = URI :: UNSAFE) -> String (18691.0) -
URI 文字列をエンコードした文字列を返します。
URI 文字列をエンコードした文字列を返します。
このメソッドは obsolete です。
代わりに
ERB::Util.#url_encode,
CGI.escape,
URI.encode_www_form_component,
WEBrick::HTTPUtils.#escape_form,
WEBrick::HTTPUtils.#escape
などの使用を検討してください。
詳細は 29293 からのスレッドを参照してください。
例:
require 'uri'
p URI.escape('http://images.google.co.jp/images?q=モナリザ... -
Kernel
# egrep _ cpp(pattern , src , opt = "") -> bool (18685.0) -
C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。
C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。
CPP $CFLAGS opt | egrep pat
を実行し、その結果が正常かどうかを true または false で返します。
このメソッドはヘッダファイルに関数などの宣言があるかどうか
検査するために使用します。
@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。
@param src C 言語のソースコードを文字列で記述します。
@see ... -
Kernel
# egrep _ cpp(pattern , src , opt = "") { . . . } -> bool (18685.0) -
C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。
C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。
CPP $CFLAGS opt | egrep pat
を実行し、その結果が正常かどうかを true または false で返します。
このメソッドはヘッダファイルに関数などの宣言があるかどうか
検査するために使用します。
@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。
@param src C 言語のソースコードを文字列で記述します。
@see ... -
Regexp
# eql?(other) -> bool (18685.0) -
otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。
otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。
@param other 正規表現を指定します。
//emlist[例][ruby]{
p /^eee$/ == /~eee$/x # => false
p /^eee$/ == /~eee$/i # => false
p /^eee$/e == /~eee$/u # => false
p /^eee$/ == Regexp.new("^eee$") # => true
p /^eee$/.eql?(/^eee$/) # => true
//} -
String
# index(pattern , pos = 0) -> Integer | nil (18673.0) -
文字列のインデックス pos から右に向かって pattern を検索し、 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から右に向かって pattern を検索し、
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合、文字列の末尾から数えた位置から探索します。
@param pattern 探索する部分文字列または正規表現
@param pos 探索を開始するインデックス
//emlist[例][ruby]{
p "astrochemistry".index("str") # => 1
p "reg... -
RDoc
:: Parser # parse _ files _ matching(regexp) -> () (18667.0) -
regexp で指定した正規表現にマッチするファイルを解析できるパーサとして、 自身を登録します。
regexp で指定した正規表現にマッチするファイルを解析できるパーサとして、
自身を登録します。
@param regexp 正規表現を指定します。
新しいパーサを作成する時に使用します。
例:
class RDoc::Parser::Xyz < RDoc::Parser
parse_files_matching /\.xyz$/
...
end -
Regexp
. escape(string) -> String (18667.0) -
string の中で正規表現において特別な意味を持つ文字の直前にエ スケープ文字(バックスラッシュ)を挿入した文字列を返します。
string の中で正規表現において特別な意味を持つ文字の直前にエ
スケープ文字(バックスラッシュ)を挿入した文字列を返します。
@param string 正規表現において特別な意味をもつ文字をもつ文字列を指定します。
//emlist[例][ruby]{
rp = Regexp.escape("$bc^")
p rp # => "\\$bc\\^"
//} -
Regexp
. quote(string) -> String (18667.0) -
string の中で正規表現において特別な意味を持つ文字の直前にエ スケープ文字(バックスラッシュ)を挿入した文字列を返します。
string の中で正規表現において特別な意味を持つ文字の直前にエ
スケープ文字(バックスラッシュ)を挿入した文字列を返します。
@param string 正規表現において特別な意味をもつ文字をもつ文字列を指定します。
//emlist[例][ruby]{
rp = Regexp.escape("$bc^")
p rp # => "\\$bc\\^"
//} -
Regexp
:: NOENCODING -> Integer (18667.0) -
正規表現のマッチ時に文字列のエンコーディングを無視し、 バイト列としてマッチすることを意味します。
正規表現のマッチ時に文字列のエンコーディングを無視し、
バイト列としてマッチすることを意味します。
正規表現リテラルの n オプションに対応します。 -
StringScanner
# search _ full(regexp , s , f) -> object (18667.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と ... -
IO
# expect(pattern , timeout = 9999999) -> Array | nil (18655.0) -
レシーバから指定したパターンを読み込むまで待ちます。
レシーバから指定したパターンを読み込むまで待ちます。
このメソッドがブロックなしで呼ばれた場合、まずレシーバである
IO オブジェクトから pattern にマッチするパターンが読みこまれる
まで待ちます。
このメソッドをブロック付きで呼びだした場合は、マッチした要素の
配列をブロックに渡して評価します。
@param pattern 文字列か正規表現を指定します。
文字列を指定した場合は、文字列そのものにマッチする正規表現に変換されます。
@param timeout タイムアウトする秒数。省略すると 9999999 秒... -
IO
# expect(pattern , timeout = 9999999) {|array| . . . } -> nil (18655.0) -
レシーバから指定したパターンを読み込むまで待ちます。
レシーバから指定したパターンを読み込むまで待ちます。
このメソッドがブロックなしで呼ばれた場合、まずレシーバである
IO オブジェクトから pattern にマッチするパターンが読みこまれる
まで待ちます。
このメソッドをブロック付きで呼びだした場合は、マッチした要素の
配列をブロックに渡して評価します。
@param pattern 文字列か正規表現を指定します。
文字列を指定した場合は、文字列そのものにマッチする正規表現に変換されます。
@param timeout タイムアウトする秒数。省略すると 9999999 秒... -
Kernel
$ $ ; -> Regexp | String | nil (18655.0) -
String#split で引数を省略した場合の区切り文字です。
String#split で引数を省略した場合の区切り文字です。
Ruby 2.7からは nil 以外に変更することは非推奨になったため、
nil 以外を代入すると警告がでるようになりました。
nilを設定すると特殊な分割を行います。
詳細は String#split を参照してください。
コマンドラインオプション -F を指定して Ruby を起動した場合、
初期値は -F で指定した値です。
それ以外の時には初期値は nil です。
$; には任意のオブジェクトを代入できます。
ただし、String#split の仕様変更を考慮すると
常に正規表現を指定すべきです。
Ruby ... -
REXML
:: Parsers :: SAX2Parser # listen(ary) { . . . } -> () (18655.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(sym) { . . . } -> () (18655.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(sym , ary) { . . . } -> () (18655.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
CSV
:: DateMatcher -> Regexp (18649.0) -
日付 (Date) 形式のデータを発見したり変換したりするための正規表現です。
日付 (Date) 形式のデータを発見したり変換したりするための正規表現です。 -
CSV
:: DateTimeMatcher -> Regexp (18649.0) -
日時 (DateTime) 形式のデータを発見したり変換したりするための正規表現です。
日時 (DateTime) 形式のデータを発見したり変換したりするための正規表現です。 -
Gem
:: Dependency # name -> String (18649.0) -
依存関係の名前を文字列か正規表現で返します。
依存関係の名前を文字列か正規表現で返します。 -
Gem
:: WIN _ PATTERNS -> Array (18649.0) -
Windows 上で動いている Ruby を識別するための正規表現の配列。
Windows 上で動いている Ruby を識別するための正規表現の配列。 -
IRB
:: MagicFile . ENCODING _ SPEC _ RE -> %r"coding\s*[=:]\s*([[:alnum:]\- _ ]+)" (18649.0) -
マジックコメントにマッチする正規表現を返します。
マジックコメントにマッチする正規表現を返します。 -
Pathname
:: SEPARATOR _ PAT -> Regexp (18649.0) -
パス名のなかのディレクトリを区切る部分にマッチする正規表現です。
パス名のなかのディレクトリを区切る部分にマッチする正規表現です。
この値は環境依存です。 -
RDoc
:: Markup :: LABEL _ LIST _ RE -> Regexp (18649.0) -
ラベル付きリストにマッチする正規表現です。ライブラリの内部で使用します。
ラベル付きリストにマッチする正規表現です。ライブラリの内部で使用します。 -
RDoc
:: Markup :: SIMPLE _ LIST _ RE -> Regexp (18649.0) -
リストにマッチする正規表現です。ライブラリの内部で使用します。
リストにマッチする正規表現です。ライブラリの内部で使用します。
ラベルの有無を問わずマッチします。 -
Regexp
# casefold? -> bool (18649.0) -
正規表現が大文字小文字の判定をしないようにコンパイルされている時、 真を返します。
正規表現が大文字小文字の判定をしないようにコンパイルされている時、
真を返します。
//emlist[例][ruby]{
reg = Regexp.new("foobar", Regexp::IGNORECASE)
p reg.casefold? # => true
reg = Regexp.new("hogehoge")
p reg.casefold? # => false
//} -
Regexp
# named _ captures -> { String => [Integer] } (18649.0) -
正規表現に含まれる名前付きキャプチャ(named capture)の情報を Hash で返します。
正規表現に含まれる名前付きキャプチャ(named capture)の情報を
Hash で返します。
Hash のキーは名前付きキャプチャの名前で、値は
その名前に関連付けられたキャプチャの index のリストを返します。
//emlist[例][ruby]{
/(?<foo>.)(?<bar>.)/.named_captures
# => {"foo"=>[1], "bar"=>[2]}
/(?<foo>.)(?<foo>.)/.named_captures
# => {"foo"=>[1, 2]}
# 名前付きキャプチャを持たないときは空の Hash を返します。
/(.)(.)/... -
Regexp
# names -> [String] (18649.0) -
正規表現に含まれる名前付きキャプチャ(named capture)の名前を 文字列の配列で返します。
正規表現に含まれる名前付きキャプチャ(named capture)の名前を
文字列の配列で返します。
//emlist[例][ruby]{
/(?<foo>.)(?<bar>.)(?<baz>.)/.names
# => ["foo", "bar", "baz"]
/(?<foo>.)(?<foo>.)/.names
# => ["foo"]
/(.)(.)/.names
# => []
//} -
Regexp
# source -> String (18649.0) -
その正規表現のもととなった文字列表現を生成して返します。
その正規表現のもととなった文字列表現を生成して返します。
//emlist[例][ruby]{
re = /foo|bar|baz/i
p re.source # => "foo|bar|baz"
//} -
Regexp
:: EXTENDED -> Integer (18649.0) -
バックスラッシュでエスケープされていない空白と # から改行までを無 視します。正規表現リテラルの //x オプションと同じ です。(空白を入れる場合は\でエスケープして\ (<-空白)と 指定します)
バックスラッシュでエスケープされていない空白と # から改行までを無
視します。正規表現リテラルの //x オプションと同じ
です。(空白を入れる場合は\でエスケープして\ (<-空白)と
指定します) -
Regexp
:: FIXEDENCODING -> Integer (18649.0) -
正規表現が特定のエンコーディングの文字列にしかマッチしないことを意味します。
正規表現が特定のエンコーディングの文字列にしかマッチしないことを意味します。
@see Regexp#fixed_encoding? -
Regexp
:: IGNORECASE -> Integer (18649.0) -
文字の大小の違いを無視します。 正規表現リテラルの //i オプションと同じです。
文字の大小の違いを無視します。
正規表現リテラルの //i オプションと同じです。 -
OpenSSL
:: Buffering # gets(eol= $ / , limit=nil) -> String | nil (18637.0) -
通信路から一行読み込んで、それを返します。
通信路から一行読み込んで、それを返します。
行区切りは eol で指定した文字列/正規表現になります。
最大 limit バイトの文字列を返します。1 行がそれより
長い場合はそこで切られます。limit が nil の場合は
eol に到達するまで読み込みます。
読み込みが終端に到達した場合は nil を返します。
IO#gets と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現
@param limit 最大の読み込みバイト数 -
OpenSSL
:: Buffering # readline(eol= $ / ) -> String (18637.0) -
通信路から一行読み込んで、それを返します。
通信路から一行読み込んで、それを返します。
行区切りは eol で指定した文字列/正規表現になります。
読み込みが終端に到達した場合は例外 EOFError を発生します。
IO#readline と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現
@raise EOFError 読み込みが終端に到達した場合に発生します。 -
OpenSSL
:: Buffering # readlines(eol= $ / ) -> [String] (18637.0) -
データを通信路から末端まで全て読み込んで、 各行を要素として持つ配列を返します。
データを通信路から末端まで全て読み込んで、
各行を要素として持つ配列を返します。
行区切りは eol で指定した文字列/正規表現になります。
IO#readlines と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現 -
Array
# abbrev(pattern = nil) -> Hash (18619.0) -
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
引数に正規表現を指定すると、self のうちそのパターンにマッチしたものから短縮形を計算します。
引数に文字列を指定すると、self のうちその文字列で始まるものから短縮形を計算します。
Abbrev.#abbrev(self, pattern) と同じです。
@param pattern Regexp か String を指定します。
require 'abbrev'
p %w[ruby rubyist].abbrev
#=> {"rub... -
MatchData
# offset(name) -> [Integer , Integer] | [nil , nil] (18619.0) -
name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返 します。
name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返
します。
//emlist[例][ruby]{
[ self.begin(name), self.end(name) ]
//}
と同じです。nameの名前付きグループにマッチした部分文字列がなければ
[nil, nil] を返します。
@param name 名前(シンボルか文字列)
@raise IndexError 正規表現中で定義されていない name を指定した場合に発生します。
//emlist[例][ruby]{
/(?<year>\d{4})年(?<month>\... -
OpenSSL
:: Buffering # each(eol= $ / ) {|line| . . . } -> () (18619.0) -
現在の読み込み位置から1行ずつ文字列として読み込み、 それを引数としてブロックを呼び出します。
現在の読み込み位置から1行ずつ文字列として読み込み、
それを引数としてブロックを呼び出します。
IO#each と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現 -
OpenSSL
:: Buffering # each _ line(eol= $ / ) {|line| . . . } -> () (18619.0) -
現在の読み込み位置から1行ずつ文字列として読み込み、 それを引数としてブロックを呼び出します。
現在の読み込み位置から1行ずつ文字列として読み込み、
それを引数としてブロックを呼び出します。
IO#each と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現 -
Rake
:: FileList # exclude(*patterns) {|entry| . . . } -> self (18619.0) -
自身から取り除くべきファイル名のパターンを自身の除外リストに登録します。
自身から取り除くべきファイル名のパターンを自身の除外リストに登録します。
パターンとして正規表現、グロブパターン、文字列が使用可能です。
さらにブロックが与えられた場合は、ブロックを評価して真になったエントリを削除します。
グロブパターンはファイルシステムに対して展開されます。
もし、ファイルシステムに存在しないファイルを明示的にリストへ追加した場合、
グロブパターンではそのファイルをリストから削除しません。
例:
FileList['a.c', 'b.c'].exclude("a.c") # => ['b.c']
FileList['a.c', 'b.c'].exclude(... -
Ripper
. slice(src , pattern , n = 0) -> String | nil (18619.0) -
Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
Ruby プログラム src のうち、
パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
マッチしない場合は nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param pattern 取り出すプログラムのパターンを文字列で指定します。
@param n pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。
pattern は Ripper のイベント ID のリストを文字列で記... -
StringScanner
# check(regexp) -> String | nil (18619.0) -
現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。
現在位置から regexp とのマッチを試みます。
マッチに成功したらマッチした部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check(/\w+/) # => "test"
s.pos # => 0
s.matched # => "test"
s.check(... -
StringScanner
# check _ until(regexp) -> String | nil (18619.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check_until(/str/) # => "test str"
s.matched # => "str... -
WEBrick
:: HTTPUtils . # escape(str) -> String (18619.0) -
与えられた文字列を数値参照文字列に変換します。
与えられた文字列を数値参照文字列に変換します。
以下の正規表現を使用して変換します。
control = (0x0..0x1f).collect{|c| c.chr }.join + "\x7f"
space = " "
delims = '<>#%"'
unwise = '{}|\\^[]`'
nonascii = (0x80..0xff).collect{|c| c.chr }.join
/[#{Regexp.escape(control + space + delims + unwise + nonascii)}]/n
@param str... -
WEBrick
:: HTTPUtils . # escape _ path(str) -> String (18619.0) -
与えられた文字列を数値参照文字列に変換します。
与えられた文字列を数値参照文字列に変換します。
以下の正規表現を使用して変換します。
num = '0123456789'
lowalpha = 'abcdefghijklmnopqrstuvwxyz'
upalpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
mark = '-_.!~*\'()'
unreserved = num + lowalpha + upalpha + mark
/[^#{Regexp.escape(unreserved + ":@&=+$,")}]/n
@param str 文字列を指定します。... -
MatchData
# offset(n) -> [Integer , Integer] | [nil , nil] (18604.0) -
n 番目の部分文字列のオフセットの配列 [start, end] を返 します。
n 番目の部分文字列のオフセットの配列 [start, end] を返
します。
//emlist[例][ruby]{
[ self.begin(n), self.end(n) ]
//}
と同じです。n番目の部分文字列がマッチしていなければ
[nil, nil] を返します。
@param n 部分文字列を指定する数値
@raise IndexError 範囲外の n を指定した場合に発生します。
@see MatchData#begin, MatchData#end -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (18586.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
Rubyで使われる記号の意味(正規表現の複雑な記号は除く)
ex q num per and or
plus minus ast slash hat sq
period comma langl rangl eq tilde
dollar at under lbrarbra
lbra2rbra2 lbra3rbra3 dq colon ac
backslash semicolon
===[a:ex] !
: !true
not 演算子。d:spec/operator#notを参照。
: 3 != 5
「等しくない」比較演算子。d:spec/operator#notを参... -
rubygems
/ commands / query _ command (18397.0) -
Gem パッケージの情報を検索するためのライブラリです。
Gem パッケージの情報を検索するためのライブラリです。
Usage: gem query [options]
Options:
-i, --[no-]installed Check for installed gem
-v, --version VERSION Specify version of gem to query
-n, --name-matches REGEXP 与えられた正規表現にマッチする Gem パッケージを
検... -
NEWS for Ruby 2
. 5 . 0 (18361.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展... -
Kernel
$ $ / -> String | nil (18355.0) -
入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。
入力レコード区切りを表す文字列です。
awk の RS 変数のように働きます。
Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。
Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が既定値となります。そうでないとき、既定値は "\n" です。
この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。
空文字列 "" を設定するとパラグラフモードとみなされ、
2 つ以上連続した改行が「行」の区切りになります。
$/ には正規表現は使えません。
この変数はグローバルスコープです。
... -
RegexpError (18193.0)
-
正規表現のコンパイルに失敗したときに発生します。
正規表現のコンパイルに失敗したときに発生します。
例:
$ ruby -e 'Regexp.compile("*")'
-e:1:in `initialize': target of repeat operator is not specified: /*/ (RegexpError)
from -e:1:in `Regexp#compile'
from -e:1 -
StringScanner (18073.0)
-
StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。
StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('This is an example string')
s.eos? #=> false
p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/\s+/) #=> nil
p s.scan(/\w+/) #=> "is"... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (16933.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への変更点(まとめ)/サポートプラットフォームの追加>))
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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
多言語化 (10537.0)
-
多言語化 Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。 文字列の内部表現のエンコーディングは固定されておらず、 プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
多言語化
Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。
文字列の内部表現のエンコーディングは固定されておらず、
プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
同じプロセスの中で異なるエンコーディングの文字列が同時に存在することができます。
全ての String や Regexp などのオブジェクトは自身のエンコーディング情報を保持しています。
これにより各オブジェクト内の文字を適切に取り扱うことができます。
後述のマジックコメントでスクリプトエンコーディングを指定すると、
Ruby スクリプトに非... -
Kernel
. # gsub(pattern) -> Enumerator (10015.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
String
# slice(range) -> String (9958.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の対照図も参照してください。
0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '... -
String
# slice(regexp , name) -> String (9943.0) -
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返 します。
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返
します。
@param regexp 正規表現を指定します。
@param name 取得したい部分文字列のパターンを示す正規表現レジスタを示す名前
@raise IndexError name に対応する括弧がない場合に発生します。
//emlist[例][ruby]{
s = "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/] # => "FooBar"
s[/(... -
StringScanner
# match?(regexp) -> Integer | nil (9937.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)... -
StringScanner
# skip(regexp) -> Integer | nil (9919.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたらスキャンポインタを進めマッチした部分文字列の
長さを返します。マッチしなかったら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.skip(/\w+/) #=> 4
p s.skip(/\w+/) #=> nil
p s.skip(/\s+/) #=> 1
p s.skip(/\w+/) #=... -
StringScanner
# skip _ until(regexp) -> Integer | nil (9919.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。
マッチに失敗したら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched # => "str"
s.pos # =>... -
リテラル (9919.0)
-
リテラル * num * string * backslash * exp * char * command * here * regexp * array * hash * range * symbol * percent
リテラル
* num
* string
* backslash
* exp
* char
* command
* here
* regexp
* array
* hash
* range
* symbol
* percent
数字の1や文字列"hello world"のようにRubyのプログラムの中に直接
記述できる値の事をリテラルといいます。
===[a:num] 数値リテラル
: 123
: 0d123
整数
: -123
符号つき整数
: 123.45
浮動小数点数。
.1 など "." で始まる浮動小... -
String
# slice(regexp , nth = 0) -> String (9868.0) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。
正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
このメソッドを実行すると、
マッチ結果に関する情報が組み込み変数 $~ に設定されます。
@param regexp 取得したい文字列のパターンを示す正規表現
@param nth 取得したい正規表現レジスタのインデックス。整数
//emlist[例][ruby]{
p "foobar"[/b... -
Regexp
. union(*pattern) -> Regexp (9817.0) -
引数として与えた pattern を選択 | で連結し、Regexp として返します。 結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。
引数として与えた pattern を選択 | で連結し、Regexp として返します。
結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。
//emlist[][ruby]{
p Regexp.union(/a/, /b/, /c/) # => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
//}
引数を一つだけ与える場合は、Array を与えても Regexp を生成します。
つまり、以下のように書くことができます。
//emlist[][ruby]{
arr = [/a/, /b/, /c/]
p Regexp.u... -
Kernel
. # gsub(pattern) {|matched| . . . } -> String (9715.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
...