別のキーワード
種類
- 文書 (96)
- インスタンスメソッド (75)
- 特異メソッド (60)
- モジュール関数 (21)
- ライブラリ (12)
クラス
モジュール
- Timeout (21)
キーワード
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Rubyの起動 (12)
- [] (12)
- glob (24)
- mktmpdir (24)
- pack (21)
- pack テンプレート文字列 (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - rubygems (12)
- timeout (21)
- unpack (12)
- パターンマッチ (12)
- 正規表現 (12)
- 演算子式 (12)
検索結果
先頭5件
-
Dir
. glob(pattern , flags = 0 , base: nil , sort: true) {|file| . . . } -> nil (3148.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...ることでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "bar", "foo"]
//}
@param base カレントディレクトリの代わりに相対パスの基準にするベー......字が
^ である時には含まれない文字と一致します。
^ の代わりに ksh や POSIX shell のように ! も同じ意
味で使えます。
: { }
コンマで区切られた文字列の組合せに展開します。例えば、
foo{a,b,c} は fooa, foob, fooc......{foo,bar{foo,bar}} は foo, barfoo, barbar
のそれぞれにマッチします。
: **/
ワイルドカード */ の0回以上の繰り返しを意味し、
ディレクトリを再帰的にたどってマッチを行います。
例えば,
foo/**/bar は foo/bar, foo/*/bar,... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (3120.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 semicol......! ruby -Ks
shebang。d:spec/rubycmd#shebangを参照。
: # coding: utf-8
マジックコメント。d:spec/m17n#magic_comment を参照。
: "a is #{a}"
d:spec/literal#exp
//emlist{
a = 10
p "a is #{a}" #=> "a is 10"
//}
: Range#each
説明文の中でのみ使われます。Ruby言......味する
===[a:hat] ^
: true ^ true
「xor」演算子。排他的論理和。または類似のメソッド。
: a ^= true
「^」演算子の自己代入演算子。aの論理値の反転。
//emlist{
p(a=true);p(a^=true);p(a^=true) #=> true false true
//}
: /^xxx/
正規表現で... -
ruby 1
. 8 . 4 feature (3018.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]: 追加されたクラス/メソッドなど
* [compat]:......:"foo" :"bar"
def bar; p "bar"; end
alias :"foo" :"bar"
foo
# => ruby 1.8.4 (2005-12-22) [i686-linux]
-:2: syntax error, unexpected tSTRING_CONTENT
alias :"foo" :"bar"
^... -
正規表現 (450.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパ......うかを判定し、
また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。
//emlist[][ruby]{
/pat/
%r{pat}
//}
などの正規表現リテラルや Regexp.new などで正規表現
オブジェクトを得ることができます。
===[......です。
例えば [abcd] という文字クラスは [a-d] と表すことができます。
複数の範囲指定をすることもできます。例えば [abcdpqrs] は [a-dp-s]と
表すこともできます。
文字クラスの [ の直後の文字がキャレット(^)である場合、列... -
Array
# pack(template , buffer: String . new) -> String (442.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...ト文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオ......ます。
buffer オプションはメモリ確保が発生しないことを保証するものでは
ないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a......ークバイトオーダの signed long
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N")[0]
if n[31] == 1
n = -((n ^ 0xffff_ffff) + 1)
end
n # => -2
//}
: ネットワークバイトオーダの signed long(その2)
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N").pack("l").un... -
Array
# pack(template) -> String (342.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...数サイズ非依存 (ネットワークプロトコルなどに適切)
//emlist{
n: big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)......int64_t
Q: uint64_t
//}
: エンディアンの強制指定(バイナリ解析などに適切)
//emlist{
S>: big endian unsigned 16bit(nと同じ)
s>: big endian int16_t
s!>: big endian signed short
l<: little endian int32_t
l!<: little endian signed long
//}
=== 各テンプレー......ークバイトオーダの signed long
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N")[0]
if n[31] == 1
n = -((n ^ 0xffff_ffff) + 1)
end
n # => -2
//}
: ネットワークバイトオーダの signed long(その2)
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N").pack("l").un......ト文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオ......ます。
buffer オプションはメモリ確保が発生しないことを保証するものでは
ないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a... -
String
# unpack(template) -> Array (342.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...数サイズ非依存 (ネットワークプロトコルなどに適切)
//emlist{
n: big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)......int64_t
Q: uint64_t
//}
: エンディアンの強制指定(バイナリ解析などに適切)
//emlist{
S>: big endian unsigned 16bit(nと同じ)
s>: big endian int16_t
s!>: big endian signed short
l<: little endian int32_t
l!<: little endian signed long
//}
=== 各テンプレー......ークバイトオーダの signed long
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N")[0]
if n[31] == 1
n = -((n ^ 0xffff_ffff) + 1)
end
n # => -2
//}
: ネットワークバイトオーダの signed long(その2)
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N").pack("l").un... -
pack テンプレート文字列 (342.0)
-
pack テンプレート文字列
...数サイズ非依存 (ネットワークプロトコルなどに適切)
//emlist{
n: big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)......int64_t
Q: uint64_t
//}
: エンディアンの強制指定(バイナリ解析などに適切)
//emlist{
S>: big endian unsigned 16bit(nと同じ)
s>: big endian int16_t
s!>: big endian signed short
l<: little endian int32_t
l!<: little endian signed long
//}
=== 各テンプレー......ークバイトオーダの signed long
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N")[0]
if n[31] == 1
n = -((n ^ 0xffff_ffff) + 1)
end
n # => -2
//}
: ネットワークバイトオーダの signed long(その2)
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N").pack("l").un... -
パターンマッチ (222.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 演算子を用いて実装されており、単体の式や
<expression> in <patt......まっている
//}
この場合、Ruby に「この値をパターンの部品として利用するよ」ということを伝えるためにピン演算子 『^』 を利用することができます。
//emlist[][ruby]{
expectation = 18
case [1, 2]
in ^expectation, *rest
"matched. expectatio......にする機能です。(『束縛』は、パターンマッチの輸入元である関数型言語の用語で、Ruby では代入と読み替えても問題ありません)
Rubyでのパターンマッチは case/in 式を用いて実装されています。
case <expression>
in <pattern1>... -
Dir
. [](*pattern , base: nil) -> [String] (154.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...ことでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "..", "bar", "foo"]
//}
@param base カレントディレクトリの代わりに相対パスの基準にするベ......字が
^ である時には含まれない文字と一致します。
^ の代わりに ksh や POSIX shell のように ! も同じ意
味で使えます。
: { }
コンマで区切られた文字列の組合せに展開します。例えば、
foo{a,b,c} は fooa, foob, fooc......{foo,bar{foo,bar}} は foo, barfoo, barbar
のそれぞれにマッチします。
: **/
ワイルドカード */ の0回以上の繰り返しを意味し、
ディレクトリを再帰的にたどってマッチを行います。
例えば,
foo/**/bar は foo/bar, foo/*/bar,... -
Dir
. [](*pattern , base: nil , sort: true) -> [String] (148.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...ることでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "bar", "foo"]
//}
@param base カレントディレクトリの代わりに相対パスの基準にするベー......字が
^ である時には含まれない文字と一致します。
^ の代わりに ksh や POSIX shell のように ! も同じ意
味で使えます。
: { }
コンマで区切られた文字列の組合せに展開します。例えば、
foo{a,b,c} は fooa, foob, fooc......{foo,bar{foo,bar}} は foo, barfoo, barbar
のそれぞれにマッチします。
: **/
ワイルドカード */ の0回以上の繰り返しを意味し、
ディレクトリを再帰的にたどってマッチを行います。
例えば,
foo/**/bar は foo/bar, foo/*/bar,...