ライブラリ
- ビルトイン (48)
- fileutils (84)
- objspace (12)
- open3 (24)
- rubygems (12)
- shellwords (12)
-
webrick
/ httputils (12) - zlib (12)
モジュール
- FileUtils (84)
- Gem (12)
- Kernel (24)
- ObjectSpace (36)
- Open3 (24)
- Shellwords (12)
-
WEBrick
:: HTTPUtils (12) - Zlib (12)
キーワード
- chmod (12)
-
chmod
_ R (12) - chown (12)
-
chown
_ R (12) -
crc
_ table (12) -
define
_ finalizer (24) - makedirs (12)
-
mkdir
_ p (12) - mkpath (12)
- p (12)
- path (12)
-
pipeline
_ r (24) -
reachable
_ objects _ from (12) - shelljoin (12)
-
split
_ header _ value (12)
検索結果
先頭5件
-
Kernel
. # Array(arg) -> Array (24343.0) -
引数を配列(Array)に変換した結果を返します。
...引数を配列(Array)に変換した結果を返します。
arg.to_ary と arg.to_a をこの順に呼び出して、返ってきた配列を変換結果とします。
arg に to_ary, to_a のいずれのメソッドも定義されていない場合は
一要素の配列 [arg] を返します......。
@param arg 変換対象のオブジェクトです。
@raise TypeError to_ary, to_a の返り値が配列でなければ発生します
//emlist[例][ruby]{
p Array({:it => 3}) #=> [[:it, 3]]
p Array(nil) #=> []
p Array("fefe") #=> ["fefe"]
//}
@see Object#to_a,Object#to_ary,Array... -
ObjectSpace
. # reachable _ objects _ from(obj) -> Array | nil (238.0) -
obj から到達可能なすべてのオブジェクトを返します。マーク不能なオブジェ クトを指定した場合は nil を返します。本メソッドを使う事でメモリリークの 調査が行えます。
...ドを使う事でメモリリークの
調査が行えます。
//emlist[例][ruby]{
# 配列クラス(Array)と 'a'、'b'、'c' に到達可能。
ObjectSpace.reachable_objects_from(['a', 'b', 'c'])
# => [Array, 'a', 'b', 'c']
//}
obj が 2 つ以上の同じオブジェクト x への参照を......list[例][ruby]{
# 配列クラス(Array)と v に到達可能。
ObjectSpace.reachable_objects_from([v = 'a', v, v])
# => [Array, 'a']
# 配列クラス(Array)と 3 つの異なる 'a' オブジェクトに到達可能。
ObjectSpace.reachable_objects_from(['a', 'a', 'a'])
# => [Array, 'a', 'a', '......a']
//}
obj にマーク不能なオブジェクト(true、false、nil、Symbol、
Fixnum、Flonum(即値の Float オブジェクト))を指定した場合は
nil を返します。
//emlist[例][ruby]{
# 1 はマーク不能
ObjectSpace.reachable_objects_from(1)
# => nil
//}
obj が内部でオ... -
Shellwords
. # shelljoin(array) -> String (208.0) -
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
...成します。
個々の配列要素に対するエスケープには、Shellwords.#shellescape と
同じ規則が適用されます。
@param array エスケープ対象の文字列を要素とする配列を指定します。
@return エスケープ結果を連結した文字列を返します... -
FileUtils
. # makedirs(list , options = {}) -> Array (204.0) -
ディレクトリ dir とその親ディレクトリを全て作成します。
...成します。
例えば、
//emlist[][ruby]{
require 'fileutils'
FileUtils.mkdir_p('/usr/local/lib/ruby')
//}
は以下の全ディレクトリを (なければ) 作成します。
* /usr
* /usr/local
* /usr/local/bin
* /usr/local/bin/ruby
@param list 作成するディレクトリ。... -
FileUtils
. # mkdir _ p(list , options = {}) -> Array (204.0) -
ディレクトリ dir とその親ディレクトリを全て作成します。
...成します。
例えば、
//emlist[][ruby]{
require 'fileutils'
FileUtils.mkdir_p('/usr/local/lib/ruby')
//}
は以下の全ディレクトリを (なければ) 作成します。
* /usr
* /usr/local
* /usr/local/bin
* /usr/local/bin/ruby
@param list 作成するディレクトリ。... -
FileUtils
. # mkpath(list , options = {}) -> Array (204.0) -
ディレクトリ dir とその親ディレクトリを全て作成します。
...成します。
例えば、
//emlist[][ruby]{
require 'fileutils'
FileUtils.mkdir_p('/usr/local/lib/ruby')
//}
は以下の全ディレクトリを (なければ) 作成します。
* /usr
* /usr/local
* /usr/local/bin
* /usr/local/bin/ruby
@param list 作成するディレクトリ。... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (203.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された......います。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
en......いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@see spec/rubycmd... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (203.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された......います。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
en......いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@see spec/rubycmd... -
FileUtils
. # chmod(mode , list , options = {}) -> Array (202.0) -
ファイル list のパーミッションを mode に変更します。
...ファイル list のパーミッションを mode に変更します。
@param mode パーミッションを8進数(absolute mode)か文字列(symbolic
mode)で指定します。
@param list ファイルのリストを指定します。 対象のファイルが一つの場合は文......。
//emlist[][ruby]{
# Absolute mode
require 'fileutils'
FileUtils.chmod(0644, %w(my.rb your.rb his.rb her.rb))
FileUtils.chmod(0755, 'somecommand')
FileUtils.chmod(0755, '/usr/bin/ruby', verbose: true)
# Symbolic mode
require 'fileutils'
FileUtils.chmod("u=wr,go=rr", %w(my.rb your.rb his.rb her.r......b))
FileUtils.chmod("u=wrx,go=rx", 'somecommand')
FileUtils.chmod("u=wrx,go=rx", '/usr/bin/ruby', verbose: true)
//}
symbolic mode では以下の指定を 操作対象 演算子 権限 の順番で指定します。
操作対象(複数指定可。省略した場合は a)。
* "a": 全て(所有...