ライブラリ
- English (24)
- ビルトイン (111)
- shellwords (36)
モジュール
- Kernel (36)
- Shellwords (24)
キーワード
-
$ , (12) -
$ OFS (12) -
$ OUTPUT _ FIELD _ SEPARATOR (12) - * (24)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Enumerator (12)
-
NEWS for Ruby 2
. 0 . 0 (12) - pack (21)
- pack テンプレート文字列 (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - shelljoin (24)
- sum (18)
- tsort (12)
- unpack (12)
検索結果
先頭5件
-
Array
# join(sep = $ , ) -> String (39243.0) -
配列の要素を文字列 sep を間に挟んで連結した文字列を返します。
...字列を返します。
文字列でない要素に対しては、to_str があれば to_str、なければ to_s した結果を連結します。
要素がまた配列であれば再帰的に (同じ sep を利用して)
join した文字列を連結します。
ただし、配列要素が自身......した配列に対しては、以下
のような結果になります。
//emlist[例][ruby]{
ary = [1,2,3]
ary.push ary
p ary # => [1, 2, 3, [...]]
p ary.join # => ArgumentError: recursive array join
//}
@param sep 間に挟む文字列を指定します。nil のときは空文......を指定した場合は to_str メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に文字列以外の(暗黙の型変換が行えない)オブジェクト
を指定した場合に発生します。
@raise ArgumentError 配列要素が... -
Array
# shelljoin -> String (27212.0) -
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
...スケープを適用し、空白文字を介してそれらを連結したコマンド
ライン文字列を生成します。
array.shelljoin は、Shellwords.shelljoin(array) と等価です。
@return エスケープ結果を連結した文字列を返します。
@see Shellwords.#shelljoin... -
tsort (26132.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
...tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3],......utputs, inputs=[], &block)
triple = [outputs, inputs, block]
outputs.each {|f| @dep[f] = [triple]}
@dep[triple] = inputs
end
def build(target)
each_strongly_connected_component_from(target) {|ns|
if ns.length != 1
fs = ns.delete_if {|n| Array === n}
raise T......ort::Cyclic.new("cyclic dependencies: #{fs.join ', '}")
end
n = ns.first
if Array === n
outputs, inputs, block = n
inputs_time = inputs.map {|f| File.mtime f}.max
begin
outputs_time = outputs.map {|f| File.mtime f}.min
rescue Errno::ENOENT... -
Array
# pack(template) -> String (21314.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプ......する例
//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"
[82,......指定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けるこ... -
Array
# pack(template , buffer: String . new) -> String (21314.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......指定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けるこ......する例
//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"
[82,... -
Array
# *(times) -> Array (21205.0) -
配列の内容を times 回 繰り返した新しい配列を作成して返します。 値はコピーされないことに注意してください。
...内容を times 回 繰り返した新しい配列を作成して返します。
値はコピーされないことに注意してください。
@param times 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソ......換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError 引数に負の数を指定した場合に発生します。
//emlist[例][ruby]{
p [1, 2, 3] * 3... -
Array
# *(sep) -> String (21145.0) -
指定された sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。
...成して返します。Array#join(sep) と同じ動作をします。
@param sep 文字列を指定します。
文字列以外のオブジェクトを指定した場合は to_str メソッドによ
る暗黙の型変換を試みます。
//emlist[例][ruby]{
p [1,2,3] * ","......# => "1,2,3"
//}
@see Array#join... -
Array
# sum(init=0) -> object (21136.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
ブロックが与えられた場合、加算する前に各要素にブロックが適用されます。
配列が空の場合、initを返します。
//emlist[例][ruby]{
[].sum #=>......ength
//}
init 引数を明示的に指名すると数値以外のオブジェクトにも使えます。
//emlist[例][ruby]{
["a", "b", "c"].sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}
しかし、文字列の配列や配列の配列の場合 Array#join......latten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Array#sum は再定義を無視することがあります(例えば Inte... -
Array
# sum(init=0) {|e| expr } -> object (21136.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
ブロックが与えられた場合、加算する前に各要素にブロックが適用されます。
配列が空の場合、initを返します。
//emlist[例][ruby]{
[].sum #=>......ength
//}
init 引数を明示的に指名すると数値以外のオブジェクトにも使えます。
//emlist[例][ruby]{
["a", "b", "c"].sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}
しかし、文字列の配列や配列の配列の場合 Array#join......latten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Array#sum は再定義を無視することがあります(例えば Inte... -
Shellwords
. join(array) -> String (18308.0) -
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
...を連結したコマンド
ライン文字列を生成します。
このメソッドは、Shellwords.#shelljoin の別名です。
@param array エスケープ対象の文字列を要素とする配列を指定します。
@return エスケープ結果を連結した文字列を返します。...