別のキーワード
検索結果
先頭5件
-
Kernel
. # Array(arg) -> Array (18249.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 (162.0) -
obj から到達可能なすべてのオブジェクトを返します。マーク不能なオブジェ クトを指定した場合は nil を返します。本メソッドを使う事でメモリリークの 調査が行えます。
...ッドを使う事でメモリリークの
調査が行えます。
//emlist[例][ruby]{
# 配列クラス(Array)と 'a'、'b'、'c' に到達可能。
ObjectSpace.reachable_objects_from(['a', 'b', 'c'])
# => [Array, 'a', 'b', 'c']
//}
obj が 2 つ以上の同じオブジェクト x への参照......emlist[例][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',......(true、false、nil、Symbol、
Fixnum、Flonum(即値の Float オブジェクト))を指定した場合は
nil を返します。
//emlist[例][ruby]{
# 1 はマーク不能
ObjectSpace.reachable_objects_from(1)
# => nil
//}
obj が内部でオブジェクトへの参照を持つ場合、
Object... -
FileUtils
. # makedirs(list , options = {}) -> Array (122.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 (122.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 (122.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 (121.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 (121.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 (120.0) -
ファイル list のパーミッションを mode に変更します。
...ions
@return 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.rb))
FileUtils.chmod("u=wrx,go=rx", 'somecommand')
FileUtils.chmod("u=wrx,go=rx", '/usr/bin/ruby', verbose: true)
//}
symbolic mode では以下の指定を 操作対象 演算子 権限 の順番で指定します。
操作対象(複数指定可。... -
FileUtils
. # chown(user , group , list , options = {}) -> Array (114.0) -
ファイル list の所有ユーザと所有グループを user と group に変更します。
...ptions :noop と :verbose が指定可能です。
c:FileUtils#options
@return list を配列として返します。
//emlist[][ruby]{
require 'fileutils'
FileUtils.chown 'root', 'staff', '/usr/local/bin/ruby'
FileUtils.chown nil, 'bin', Dir.glob('/usr/bin/*'), verbose: true
//}...