種類
- モジュール関数 (41)
- 文書 (40)
- 特異メソッド (33)
- インスタンスメソッド (22)
モジュール
- FileUtils (22)
-
GC
:: Profiler (33) - Kernel (22)
- Timeout (19)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) -
raw
_ data (11) - report (11)
- ruby (11)
- sh (11)
- test (22)
- timeout (19)
- セキュリティモデル (11)
検索結果
先頭5件
-
GC
:: Profiler . result -> String (21107.0) -
GC のプロファイル情報をフォーマットし、文字列として返します。
...生ごとに集計します。
以下は、5 回 GC が発生した場合の実行例です。
$ ruby -e "GC::Profiler.enable; a = Array.new(100000){ 'aa' }; puts GC::Profiler.result"
GC 5 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object......Time
Ruby が起動してから GC が起動するまでに経過した時間
: Use Size
ヒープ内での使用サイズ
: Total Size
ヒープ全体のサイズ
: Total Object
ヒープ内に存在するオブジェクトの個数
: GC Time
GC の処理時間
@see GC::Profiler.report... -
FileUtils
# sh(*cmd) {|result , status| . . . } (3113.0) -
与えられたコマンドを実行します。
...釈に関しては Kernel.#exec を参照してください。
例:
sh %{ls -ltr}
sh 'ls', 'file with spaces'
# check exit status after command runs
sh %{grep pattern file} do |ok, res|
if ! ok
puts "pattern not found (status = #{res.exitstatus})"
end
end
@... -
FileUtils
# ruby(*args) {|result , status| . . . } (3101.0) -
与えられた引数で Ruby インタプリタを実行します。
与えられた引数で Ruby インタプリタを実行します。
@param args Ruby インタプリタに与える引数を指定します。
例:
ruby %{-pe '$_.upcase!' <README}
@see Kernel.#sh -
GC
:: Profiler . report(out = $ stdout) -> nil (3022.0) -
GC::Profiler.result の結果を out に出力します。
...GC::Profiler.result の結果を out に出力します。
@param out 結果の出力先を指定します。デフォルトは $stdout です。
//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.report
# => GC 4 invokes.
# Index Invoke Time(sec) Use Size(byte) Total Si......ze(byte) Total Object GC Time(ms)
# 1 0.019 303720 1269840 31746 1.25899999999999967493
//}
@see GC::Profiler.result... -
GC
:: Profiler . raw _ data -> [Hash , . . . ] | nil (3006.0) -
GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ ていない場合は nil を返します。
...生ごとに Hash の配列
(:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ
ていない場合は nil を返します。
例:
GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIM......GC_PROFILE_MORE_DETAIL を有効にして Ruby をビルドした場合、以下の
キーも参照できます。
* :GC_MARK_TIME
* :GC_SWEEP_TIME
* :ALLOCATE_INCREASE
* :ALLOCATE_LIMIT
* :HEAP_USE_SLOTS
* :HEAP_LIVE_OBJECTS
* :HEAP_FREE_OBJECTS
* :HAVE_FINALIZE
@see GC::Profiler.report,......GC::Profiler.result... -
Kernel
. # test(cmd , file1 , file2) -> bool (228.0) -
2ファイル間のファイルテストを行います。
...文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file1 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@param file2 テストするファイルのパスを表す文字列か IO オブジェクトを指定......イル1とファイル2が同一のファイルである
//emlist[例][ruby]{
IO.write("testfile1", "test1")
IO.write("testfile2", "test2")
%w(= < > -).each do |e|
result = test(e, "testfile1", "testfile2")
puts "#{e}: #{result}"
end
//}
# => =: true
# => <: false
# => >: false
# => -: false... -
NEWS for Ruby 2
. 5 . 0 (228.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ました 11286
* File
* File.open :newline オプションを指定するとテキストモードになります 13350
* File#path はFile::Constants::TMPFILE付きで開いたファイルに対して IOError を発生させます
13568
* File.stat, File.exist? など rb_stat()......ました
13941
* File.rename GVL を解放するようになりました 13951
* File::Stat#atime, File::Stat#mtime, File::Stat#ctime
Windows 8 以降でタイムスタンプの分数表現をサポートしました 13726
* File::Stat#ino, File.identical?
Windows 8.1......)
//}
* Rubyで書かれたファイルをいくつか読み込んでから、Coverage.result を使って結果を取得することができます。
//emlist[][ruby]{
Coverage.result
#=> { "/path/to/file.rb"=>
# { :lines => [1, 2, 0, nil, ...],
# :branches =>
# { [:if, 0, 2,... -
Kernel
. # test(cmd , file) -> bool | Time | Integer | nil (113.0) -
単体のファイルでファイルテストを行います。
...るいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 下表に特に明記していない......me
: ?A
ファイルの最終アクセス時刻を返す -> Time
: ?C
ファイルの inode 変更時刻を返す -> Time
//emlist[例][ruby]{
IO.write("testfile", "test")
test("r", "testfile") # => true
test("s", "testfile") # => 4
test("M", "testfile") # => 2018-03-31 07:38:40 +0900
//}... -
セキュリティモデル (90.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...ェクト
* レベル0と同様
===== 禁止される操作
* 汚染された文字列を引数とした以下の操作
* Dir, IO, File, FileTest のメソッド呼び出し
//emlist{
$ ruby -e '$SAFE = 1; open(ARGV[0])' hoge
-e:1:in `initialize': Insecure operatio......止されます。
* Dir.chdir Dir.chroot Dir.mkdir Dir.rmdir
* File.chown File.chmod File.umask File.truncate
File#lstat File#chmod File#chown File.delete File.unlink
File#truncate File#flock
および FileTest モジュールのメソッド
* IO#ioctl, IO#fcntl
* Proces......を高いセーフレベルで実行することが可
能です。
//emlist[例][ruby]{
def safe(level)
result = nil
Thread.start {
$SAFE = level
result = yield
}.join
result
end
lib = "insecure_library".taint # 外部から受け取った文字列(仮)
safe(1) { require lib }... -
NEWS for Ruby 2
. 6 . 0 (78.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* Binding#source_location 追加 14230
* bindingのソースコード上の位置を __FILE__ と __LINE__ の二要素配列として返します。
従来でも eval("[__FILE__, __LINE__]", binding) とすることでこれらの情報は得られましたが、......ubyVM::AbstractSyntaxTree.parse は文字列をパースして AST ノードを返します。 [実験的]
* RubyVM::AbstractSyntaxTree.parse_file はファイルをパースして AST ノードを返します。 [実験的]
* RubyVM::AbstractSyntaxTree.of は proc やメソッドに対......* :oneshot_lines キーワード引数が Coverage.start に追加されました。
* :stop と :clear キーワード引数が Coverage.result に追加されました。
clear が真の時、カウンターが0クリアされます。
stop が真の時、カバレッジ... -
NEWS for Ruby 2
. 3 . 0 (66.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
..._while
10769
* Enumerator::Lazy
* Enumerator::Lazy#grep_v を追加
11773
* File
* File.mkfifo
11536
* O_TMPFILE に対応する File::TMPFILE(File::Constants::TMPFILE) を追加
* Hash
* Hash#fetch_values を追加
10017
* Hash#dig を追加......643
* Hash#<=, Hash#<, Hash#>=, Hash#> を追加
10984
* Hash#to_proc を追加
11653
* IO
* 新しいフラグ File::SHARE_DELETE(File::Constants::SHARE_DELETE) が使用できます。
Windows で開いているファイルを削除することを許可しますが......ました。
=== 標準添付ライブラリの互換性 (機能追加とバグ修正を除く)
* ext/coverage/coverage.c
* Coverage.peek_result を追加。カバレッジツールを停止することなくカバレッジに関する情報を取得することができます。
https...