モジュール
- FileUtils (84)
- JSON (12)
- Kernel (24)
- ObjectSpace (36)
- Open3 (12)
検索結果
先頭5件
-
Kernel
. # p(*arg) -> object | Array (21333.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
...使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
//emlist[例][ruby]{
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
//}
整形に用いられるObject#inspectは普通に文字列に変換......ています。
p に引数を与えずに呼び出した場合は特に何もしません。
@param arg 出力するオブジェクトを任意個指定します。
@raise IOError 標準出力が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に......eturn 指定された引数 arg を返します。複数の引数が指定された場合はそれらを要素とする配列を返します。
//emlist[例][ruby]{
puts "" #=> (空行)
p "" #=> ""
puts 50,"50"
#=> 50
#=> 50
p 50,"50"
#=> 50
#=> "50"
//}
@see Object#inspect,Kernel.#puts,Kerne... -
Kernel
. # Array(arg) -> Array (21267.0) -
引数を配列(Array)に変換した結果を返します。
...列(Array)に変換した結果を返します。
arg.to_ary と arg.to_a をこの順に呼び出して、返ってきた配列を変換結果とします。
arg に to_ary, to_a のいずれのメソッドも定義されていない場合は
一要素の配列 [arg] を返します。
@param ar......g 変換対象のオブジェクトです。
@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... -
Open3
. # pipeline(*cmds) -> [Process :: Status] (15219.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。
...をパイプで繋いで順番に実行します。
@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す......options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す String を指定します。
1、2、3 は shell 経由で実行されます。
(1) commandline
(2) [commandline, options]......[env, commandline, options]
(4) [env, cmdname, arg1, arg2, ..., options]
(5) [env, [cmdname, argv0], arg1, ..., options]
@return 実行したコマンドの終了ステータスを配列で返します。
例1:
require "open3"
fname = "/usr/share/man/man1/ruby.1.gz"
p Open3.pipeline([... -
ObjectSpace
. # reachable _ objects _ from(obj) -> Array | nil (12262.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',......ue、false、nil、Symbol、
Fixnum、Flonum(即値の Float オブジェクト))を指定した場合は
nil を返します。
//emlist[例][ruby]{
# 1 はマーク不能
ObjectSpace.reachable_objects_from(1)
# => nil
//}
obj が内部でオブジェクトへの参照を持つ場合、
ObjectSpa... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (9321.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファ...... Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (9221.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファ...... Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer... -
JSON
. # unparse(object , state = nil) -> String (9219.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
...,
JSON::MinusInfinity を生成することもありません。
unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param state JSON::State または、to_hash や to_h メソッドでハッシュに変換......dent
インデントに使用する文字列を指定します。デフォルトは空文字列です。
: :space
a string that is put after, a : or , delimiter (default: '')
: :space_before
a string that is put before a : pair delimiter (default: '')
: :object_nl
a string that is put at the......end of a JSON object (default: '')
: :array_nl
a string that is put at the end of a JSON array (default: '')
: :check_circular
真を指定した場合、生成するオブジェクトの循環をチェックします。
この動作がデフォルトです。
: :allow_nan
真を指定し... -
FileUtils
. # makedirs(list , options = {}) -> Array (6329.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 作成するディレクト......。一つの場合は文字列でも指定できます。
二つ以上指定する場合は配列で指定します。
@param options :mode, :noop, :verbose が指定できます。
c:FileUtils#options
@return ディレクトリ名文字列の配列を返します。... -
FileUtils
. # mkdir _ p(list , options = {}) -> Array (6229.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 作成するディレクト......。一つの場合は文字列でも指定できます。
二つ以上指定する場合は配列で指定します。
@param options :mode, :noop, :verbose が指定できます。
c:FileUtils#options
@return ディレクトリ名文字列の配列を返します。...