種類
- インスタンスメソッド (69)
- 文書 (22)
- クラス (11)
- モジュール (11)
ライブラリ
- ビルトイン (56)
-
net
/ http (22) - shellwords (11)
- thread (2)
モジュール
-
Net
:: HTTPHeader (22)
キーワード
- ConditionVariable (11)
- DOSISH 対応 (11)
- Shellwords (11)
-
canonical
_ each (11) -
each
_ capitalized (11) - pack (19)
- pack テンプレート文字列 (11)
- unpack (11)
検索結果
先頭5件
-
String
# split(sep = $ ; , limit = 0) -> [String] (24428.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
...第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下......@param limit 分割する最大個数
@return ブロックを渡した場合は self、ブロックなしの場合は配列
//emlist[例][ruby]{
p " a \t b \n c".split(/\s+/) # => ["", "a", "b", "c"]
p " a \t b \n c".split(nil) # => ["a", "b", "c"]
p " a \t b \n c".split(' ')......".split # => ["a", "b", "c"] # split(nil) と同じ
//}
//emlist[括弧を含む正規表現][ruby]{
p '1-10,20'.split(/([-,])/) # => ["1", "-", "10", ",", "20"]
//}
//emlist[正規表現が空文字列にマッチする場合は 1 文字に分割][ruby]{
p 'hi there'.split(/\s*/).join(... -
String
# split(sep = $ ; , limit = 0) {|s| . . . } -> self (24428.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
...第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下......@param limit 分割する最大個数
@return ブロックを渡した場合は self、ブロックなしの場合は配列
//emlist[例][ruby]{
p " a \t b \n c".split(/\s+/) # => ["", "a", "b", "c"]
p " a \t b \n c".split(nil) # => ["a", "b", "c"]
p " a \t b \n c".split(' ')......".split # => ["a", "b", "c"] # split(nil) と同じ
//}
//emlist[括弧を含む正規表現][ruby]{
p '1-10,20'.split(/([-,])/) # => ["1", "-", "10", ",", "20"]
//}
//emlist[正規表現が空文字列にマッチする場合は 1 文字に分割][ruby]{
p 'hi there'.split(/\s*/).join(... -
String
# split(sep = $ ; , limit = 0) -> [String] (24427.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。
...第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧に......除く
: limit < 0
分割個数の制限はなし
@param sep 文字列を分割するときのセパレータのパターン
@param limit 分割する最大個数
//emlist[例][ruby]{
p " a \t b \n c".split(/\s+/) # => ["", "a", "b", "c"]
p " a \t b \n c".split(nil) # =>......".split # => ["a", "b", "c"] # split(nil) と同じ
//}
//emlist[括弧を含む正規表現][ruby]{
p '1-10,20'.split(/([-,])/) # => ["1", "-", "10", ",", "20"]
//}
//emlist[正規表現が空文字列にマッチする場合は 1 文字に分割][ruby]{
p 'hi there'.split(/\s*/).join(... -
Net
:: HTTPHeader # canonical _ each {|name , value| . . . . } -> () (6112.0) -
ヘッダフィールドの正規化名とその値のペアを ブロックに渡し、呼びだします。
...ヘッダフィールドの正規化名とその値のペアを
ブロックに渡し、呼びだします。
正規化名は name に対し
name.downcase.split(/-/).capitalize.join('-')
で求まる文字列です。... -
Net
:: HTTPHeader # each _ capitalized {|name , value| . . . . } -> () (6112.0) -
ヘッダフィールドの正規化名とその値のペアを ブロックに渡し、呼びだします。
...ヘッダフィールドの正規化名とその値のペアを
ブロックに渡し、呼びだします。
正規化名は name に対し
name.downcase.split(/-/).capitalize.join('-')
で求まる文字列です。... -
Thread
:: ConditionVariable (6036.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...である状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。......count == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end
alias send enq
alias recv deq
end
if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []
th = Thread.new {
for obj......q.send nil
}
l.push th
th = Thread.new {
while obj = q.recv
print "recv ", obj, "\n"
end
}
l.push th
l.each do |t|
t.join
end
end
実行すると以下のように出力します。
$ ruby condvar.rb
sent Apple
recv Apple
sent Ba... -
Shellwords (6012.0)
-
UNIX Bourne シェルの単語分割規則に従った文字列分割と文字列エスケープ を行うモジュールです。
...ープ
を行うモジュールです。
Shellwords モジュールは、空白区切りの単語分割を行う shellsplit、文字列を
エスケープする shellescape、文字列エスケープを文字列リストに対して適用
する shelljoin の3つのモジュール関数を提供し......ます。
これらのメソッドの別名として、Shellwords.split, Shellwords.escape,
Shellwords.join も使用可能です。
ただし、これらの短縮形式のメソッドはクラスメソッドとしてのみ定義される
ため、関数形式の呼び出しはできません。... -
pack テンプレート文字列 (3204.0)
-
pack テンプレート文字列
...各テンプレート文字の説明の中で、
short や long はシステムによらずそれぞれ 2, 4バイトサ
イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま
す。s, S, l, L に対しては直後に _ または ! を "s_" あるいは "s......換する例
//emlist[][ruby]{
[82, 117, 98, 121].pack("cccc") # => "Ruby"
[82, 117, 98, 121].pack("c4") # => "Ruby"
[82, 117, 98, 121].pack("c*") # => "Ruby"
s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"
[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"
[8......出来る
//emlist[][ruby]{
"Ru\x00\x00by".unpack('ccxxcc') # => [82, 117, 98, 121]
//}
: Hexダンプを数値の配列に変換する例
//emlist[][ruby]{
"61 62 63 64 65 66".delete(' ').lines.pack('H*').unpack('C*')
# => [97, 98, 99, 100, 101, 102]
"61 62 63 64 65 66".split.collect {|c| c.he... -
DOSISH 対応 (3042.0)
-
DOSISH 対応 ruby version 1.7 では、DOSISH対応(DOS/Windows のパス名の扱いに対する変 更)が含まれています。(現在の)変更点を以下に示します。
...の扱いに対する変
更)が含まれています。(現在の)変更点を以下に示します。
なお、これらの変更は platform/mswin32 版、platform/mingw32
版の Ruby にのみあてはまります。
とりあえずの目標として、
* \ も / と同様パスセパレー......ています。
p File.basename("C:\\foo\\bar")
=> ruby 1.6.4 (2001-06-04) [i586-mswin32]
"C:\\foo\\bar"
=> ruby 1.7.1 (2001-08-16) [i586-mswin32]
"bar"
: File.split
File.dirname と File.basename が変更されているので、File.split もそれに準じた......File.expand_path("D:foo", "C:/bar")
=> ruby 1.6.4 (2001-06-04) [i586-mswin32]
"C:/bar/C:foo"
"C:/bar/D:foo"
=> ruby 1.8.0 (2003-01-06) [i386-mswin32]
"C:/bar/foo"
"D:/foo"
=> 新井案 30970
"C:/bar/foo"
(なんらかの例外)
: File.join... -
Array
# pack(template) -> String (304.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......換する例
//emlist[][ruby]{
[82, 117, 98, 121].pack("cccc") # => "Ruby"
[82, 117, 98, 121].pack("c4") # => "Ruby"
[82, 117, 98, 121].pack("c*") # => "Ruby"
s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"
[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"
[8......出来る
//emlist[][ruby]{
"Ru\x00\x00by".unpack('ccxxcc') # => [82, 117, 98, 121]
//}
: Hexダンプを数値の配列に変換する例
//emlist[][ruby]{
"61 62 63 64 65 66".delete(' ').lines.pack('H*').unpack('C*')
# => [97, 98, 99, 100, 101, 102]
"61 62 63 64 65 66".split.collect {|c| c.he... -
Array
# pack(template , buffer: String . new) -> String (304.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......換する例
//emlist[][ruby]{
[82, 117, 98, 121].pack("cccc") # => "Ruby"
[82, 117, 98, 121].pack("c4") # => "Ruby"
[82, 117, 98, 121].pack("c*") # => "Ruby"
s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"
[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"
[8......出来る
//emlist[][ruby]{
"Ru\x00\x00by".unpack('ccxxcc') # => [82, 117, 98, 121]
//}
: Hexダンプを数値の配列に変換する例
//emlist[][ruby]{
"61 62 63 64 65 66".delete(' ').lines.pack('H*').unpack('C*')
# => [97, 98, 99, 100, 101, 102]
"61 62 63 64 65 66".split.collect {|c| c.he...