別のキーワード
ライブラリ
- ビルトイン (7)
- abbrev (1)
- base64 (3)
- benchmark (5)
- bigdecimal (4)
-
bigdecimal
/ ludcmp (1) -
bigdecimal
/ math (6) - digest (1)
- erb (5)
- etc (1)
- fiddle (2)
- fileutils (7)
- json (11)
- kconv (1)
- objspace (4)
- shellwords (2)
- syslog (2)
- timeout (2)
-
webrick
/ htmlutils (1) -
webrick
/ httpauth (1) -
webrick
/ httpstatus (1) -
webrick
/ httputils (2) -
webrick
/ utils (2)
モジュール
- Abbrev (1)
- Base64 (3)
- Benchmark (5)
- BigMath (8)
- Digest (1)
-
ERB
:: DefMethod (1) -
ERB
:: Util (4) - Etc (1)
- Fiddle (2)
- FileTest (4)
- FileUtils (7)
- JSON (11)
- Kconv (1)
- Kernel (5)
- LUSolve (1)
- ObjectSpace (4)
- Shellwords (2)
- Syslog (2)
- Timeout (2)
-
WEBrick
:: HTMLUtils (1) -
WEBrick
:: HTTPAuth (1) -
WEBrick
:: HTTPStatus (1) -
WEBrick
:: HTTPUtils (2) -
WEBrick
:: Utils (2)
キーワード
- BigDecimal (2)
- E (1)
- PI (1)
- abbrev (1)
-
allocation
_ sourcefile (1) -
allocation
_ sourceline (1) - atan (1)
-
basic
_ auth (1) - benchmark (1)
- bm (1)
- bmbm (1)
- cd (1)
- chdir (1)
- cmp (1)
-
compare
_ file (1) - cos (1)
-
cp
_ lr (1) - debug (1)
- decode64 (1)
-
def
_ erb _ method (1) - dlunwrap (1)
- dlwrap (1)
- dump (1)
- encode64 (1)
- escape (1)
- exp (1)
-
fast
_ generate (1) -
fast
_ unparse (1) - generate (1)
- getservername (1)
- h (1)
- hexencode (1)
-
html
_ escape (1) - identical? (1)
- isjis (1)
- load (1)
-
load
_ mime _ types (1) - log (1)
- lusolve (1)
- measure (1)
-
memsize
_ of (1) -
mime
_ type (1) - opened? (1)
- parse (1)
- parse! (1)
- pp (1)
-
pretty
_ generate (1) -
pretty
_ unparse (1) -
random
_ string (1) - realtime (1)
-
reason
_ phrase (1) -
require
_ relative (1) - restore (1)
- setgid? (1)
- setuid? (1)
- shellsplit (1)
- shellwords (1)
- sin (1)
- socket? (1)
- sqrt (1)
- sticky? (1)
- timeout (2)
-
trace
_ object _ allocations (1) - u (1)
- uname (1)
- unparse (1)
- uptodate? (1)
-
url
_ encode (1) -
urlsafe
_ encode64 (1)
検索結果
先頭5件
-
Kernel
. # require(feature) -> bool (54679.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] (28222.0) -
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示されます。
@param caption レポートの一行目に表示する文字列を指定します。
@param label_width ラベルの幅を指定します。
@param fmtstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使用されます。... -
Benchmark
. # bmbm(width = 0) {|job| . . . } -> [Benchmark :: Tms] (27622.0) -
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。
ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する事によってこの影響を最小化します。
一回目は実行環境を安定化するためにリハーサルとして実行します。二回目は本番として
実行します。
二回目のブロック実行の前に GC.start を実行しますが、この実行時間は計測には
含まれません。しかし、実際にはこのメソッドを使用しても、GC などの影響を分離する
ことは保証されません。
@param width ラベルの幅を... -
Abbrev
. # abbrev(words , pattern = nil) -> Hash (27340.0) -
文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
文字列の配列から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。
第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。
@param words 元となる文字列の配列。
@param pattern Regexp か String を指定します。
@return 短縮形をキー、元の文字列を値とするハッシュを返します。
require 'abbrev'
# words に同じ文字列が含まれ... -
ObjectSpace
. # trace _ object _ allocations { . . . } (27322.0) -
与えられたブロック内でオブジェクトのトレースを行います。
与えられたブロック内でオブジェクトのトレースを行います。
//emlist[例][ruby]{
require 'objspace'
class C
include ObjectSpace
def foo
trace_object_allocations do
obj = Object.new
p "#{allocation_sourcefile(obj)}:#{allocation_sourceline(obj)}"
end
end
end
C.new.foo #=> "objtrace.rb:8"
//} -
Kernel
. # require _ relative(relative _ feature) -> bool (18745.0) -
現在のファイルからの相対パスで require します。
現在のファイルからの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== require と load のスコープ
ローカル変数... -
Kernel
. # BigDecimal(s , exception: true) -> BigDecimal | nil (18622.0) -
引数で指定した値を表す BigDecimal オブジェクトを生成します。
引数で指定した値を表す BigDecimal オブジェクトを生成します。
@param s 数値を表現する初期値を文字列、Integer、
Float、Rational、BigDecimal オブジェクトのい
ずれかで指定します。
文字列中のスペースは無視されます。また、判断できない文字が出現
した時点で文字列は終了したものとみなされます。
@param n 必要な有効桁数(self の最大有効桁数)を整数で指定します。 n が
0 または省略されたときは、n の値は s の有効桁数とみなされます。... -
Kernel
. # BigDecimal(s , n , exception: true) -> BigDecimal | nil (18622.0) -
引数で指定した値を表す BigDecimal オブジェクトを生成します。
引数で指定した値を表す BigDecimal オブジェクトを生成します。
@param s 数値を表現する初期値を文字列、Integer、
Float、Rational、BigDecimal オブジェクトのい
ずれかで指定します。
文字列中のスペースは無視されます。また、判断できない文字が出現
した時点で文字列は終了したものとみなされます。
@param n 必要な有効桁数(self の最大有効桁数)を整数で指定します。 n が
0 または省略されたときは、n の値は s の有効桁数とみなされます。... -
Benchmark
. # bm(label _ width = 0 , *labels) {|rep| . . . } -> [Benchmark :: Tms] (18358.0) -
Benchmark.#benchmark メソッドの引数を簡略化したものです。
Benchmark.#benchmark メソッドの引数を簡略化したものです。
Benchmark.#benchmark メソッドと同様に働きます。
@param label_width ラベルの幅を指定します。
@param labels ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。
//emlist[][ruby]{
require 'benchmark'
n = 50000
Benchmark.bm do |x|
x.report { for i in 1..n; a = "1"; end }
x.report { n.t... -
ERB
:: DefMethod . # def _ erb _ method(methodname , erb) -> nil (18322.0) -
self に erb のスクリプトをメソッドとして定義します。
self に erb のスクリプトをメソッドとして定義します。
メソッド名は methodname で指定します。
erb が文字列の時、そのファイルを読み込み ERB で変換したのち、メソッドとして定義します。
@param methodname メソッド名
@param erb ERBインスタンスもしくはERBソースファイル名
例:
require 'erb'
class Writer
extend ERB::DefMethod
def_erb_method('to_html', 'writer.erb')
...
end
...
p... -
WEBrick
:: HTTPAuth . # basic _ auth(req , res , realm) {|user , pass| . . . } -> nil (18322.0) -
Basic 認証を行うためのメソッドです。
Basic 認証を行うためのメソッドです。
与えられたブロックは user, pass をブロックパラメータとして渡されて評価されます。
ブロックの評価結果が真である場合、認証が成功したことになります。
ブロックの評価結果が偽である場合、認証は失敗したことになり、例外が発生します。
@param req クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトを指定します。
@param res WEBrick::HTTPResponse オブジェクトを指定します。
@param realm 認証のレルムを文字列で指定します。
@raise WEB... -
Benchmark
. # measure(label = "") { . . . } -> Benchmark :: Tms (9622.0) -
与えられたブロックを実行して、経過した時間を Process.#times で計り、 Benchmark::Tms オブジェクトを生成して返します。
与えられたブロックを実行して、経過した時間を Process.#times で計り、
Benchmark::Tms オブジェクトを生成して返します。
Benchmark::Tms オブジェクトには to_s が定義されているので、
基本的には以下のように使います。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark::CAPTION
puts Benchmark.measure { "a"*1_000_000 }
#=>
#
# user system total real
# 1.1666... -
Base64
. # encode64(bin) -> String (9322.0) -
与えられたデータを Base64 エンコードした文字列を返します。
与えられたデータを Base64 エンコードした文字列を返します。
このメソッドは 2045 に対応しています。
エンコード後の文字で 60 文字ごとに改行を追加します。
@param bin Base64 エンコードするデータを指定します。
require 'base64'
Base64.encode64("Now is the time for all good coders\nto learn Ruby")
# => Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
# ... -
Base64
. # urlsafe _ encode64(bin , padding: true) -> String (9322.0) -
与えられたデータを Base64 エンコードした文字列を返します。
与えられたデータを Base64 エンコードした文字列を返します。
このメソッドは 4648 の "Base 64 Encoding with URL and Filename Safe Alphabet" に対応しています。
"+" を "-" に "/" を "_" に置き換えます。
デフォルトでは戻り値は = によるパディングを含むことがあります。
パディングを含めたくない場合は、padding オプションに false を指定してください。
@param bin Base64 エンコードするデータを指定します。
@param padding false を指定した場合、 = によ... -
BigMath
. # E(prec) -> BigDecimal (9322.0) -
自然対数の底 e を prec で指定した精度で計算します。
自然対数の底 e を prec で指定した精度で計算します。
@param prec 計算結果の精度。
@raise ArgumentError prec に 0 以下が指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::E(2) #=> 0.27e1
puts BigMath::E(4) #=> 0.2718e1
puts BigMath::E(10) #=> 0.2718281828e1
//} -
BigMath
. # PI(prec) -> BigDecimal (9322.0) -
円周率を prec で指定した精度で計算します。
円周率を prec で指定した精度で計算します。
@param prec 計算結果の精度。
@raise ArgumentError prec に 0 以下が指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::PI(2) #=> 0.31415926535897932384671233672993238432e1
puts BigMath::PI(5) #=> 0.31415926535897932384627534923029509162e1
puts BigMath::PI(10) ... -
BigMath
. # atan(x , prec) -> BigDecimal (9322.0) -
x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。 x に無限大や NaN を指定した場合には NaN を返します。
x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。
x に無限大や NaN を指定した場合には NaN を返します。
@param x 計算対象の BigDecimal オブジェクト。単位はラジアン。
@param prec 計算結果の精度。
@raise ArgumentError x の絶対値が1以上の場合に発生します。
@raise ArgumentError prec に 0 以下が指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::atan(BigD... -
BigMath
. # cos(x , prec) -> BigDecimal (9322.0) -
x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。
x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x
に無限大や NaN を指定した場合には NaN を返します。
@param x 計算対象の BigDecimal オブジェクト。単位はラジアン。
@param prec 計算結果の精度。
@raise ArgumentError prec に 0 以下が指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::cos(BigDecimal('0.5'), 10) #=> 0.877582561890372716116... -
BigMath
. # exp(x , prec) -> BigDecimal (9322.0) -
x の指数関数を prec で指定した精度で計算します。
x の指数関数を prec で指定した精度で計算します。
x に正の無限大を指定した場合は正の無限大を返します。負の無限大を指定し
た場合には 0 を返します。NaN を指定した場合には NaNを返します。
@param x 計算対象の数値を Integer、BigDecimal、
Float、Rationalオブジェクトのいずれかで指定します。
@param prec 計算結果の精度を指定します。
@raise ArgumentError x に Integer、BigDecimal、
Float、Rational以外のオ... -
BigMath
. # log(x , prec) -> BigDecimal (9322.0) -
x の自然対数を prec で指定した精度で計算します。
x の自然対数を prec で指定した精度で計算します。
x に無限大を指定した場合は無限大を返します。NaN を指定した場合には NaN
を返します。
@param x 計算対象の数値を Integer、Float、
Rational、BigDecimal オブジェクトのいずれかで指定
します。
@param prec 計算結果の精度を指定します。
@raise Math::DomainError x に 0 以下の数値か Complex オブジェクト
が指定された場合に発生します。
@rais... -
BigMath
. # sin(x , prec) -> BigDecimal (9322.0) -
x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。
x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x
に無限大や NaN を指定した場合には NaN を返します。
@param x 計算対象の BigDecimal オブジェクト。単位はラジアン。
@param prec 計算結果の精度。
@raise ArgumentError prec に 0 以下が指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::sin(BigDecimal('0.5'), 10) #=> 0.479425538604203000273... -
BigMath
. # sqrt(x , prec) -> BigDecimal (9322.0) -
x の平方根を prec で指定した精度で計算します。
x の平方根を prec で指定した精度で計算します。
@param x 平方根を求める数。
@param prec 計算結果の精度。
@raise FloatDomainError x に 0 以下、もしくは NaN が指定された場合に発生します。
@raise ArgumentError prec に 0 未満が指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::sqrt(BigDecimal('2'), 10) #=> 0.1414213562373095048666666667e... -
ObjectSpace
. # allocation _ sourcefile(object) -> String (9322.0) -
objectの元となったソースファイル名を返します。
objectの元となったソースファイル名を返します。
@param object 元となるソースファイル名を取得したいobjectを指定します。
@return objectの元となるソースファイル名を返します。存在しない場合はnilを返します。
//emlist[例:test.rbというファイルで下記のスクリプトを実行した場合][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "file:#{ObjectSpace::allocation_sourc... -
ObjectSpace
. # allocation _ sourceline(object) -> Integer (9322.0) -
objectの元となったソースファイルの行番号を返します。
objectの元となったソースファイルの行番号を返します。
@param object 元となるソースファイルの行番号を取得したいobjectを指定します。
@return objectの元となるソースファイルの行番号を返します。存在しない場合はnilを返します。
//emlist[例][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "line:#{ObjectSpace::allocation_sourceline(obj)}" # => lin... -
ObjectSpace
. # memsize _ of(obj) -> Integer (9322.0) -
obj が消費するメモリ使用量をバイト単位で返します。
obj が消費するメモリ使用量をバイト単位で返します。
@param obj 任意のオブジェクトを指定します。
戻り値の内容は完全ではない事に注意してください。この内容はあくまでもヒ
ントとして扱う必要があります。特に T_DATA の値は正しくないでしょう。
2.2 以降では RVALUE のサイズを含んだ結果を返します。
本メソッドは C Ruby 以外では動作しません。
//emlist[例][ruby]{
require 'objspace'
ObjectSpace.memsize_of(10) # => 0
ObjectSpace.memsize_o... -
Syslog
. # debug(message , *arg) -> self (9322.0) -
Syslog#log()のショートカットメソッド。 システムによっては定義されていないものもあります。
Syslog#log()のショートカットメソッド。
システムによっては定義されていないものもあります。
例えば、Syslog.emerg(message, *arg) は、Syslog.log(Syslog::LOG_EMERG, message, *arg)
と同じです。
@param message フォーマット文字列です。Kernel.#sprintf と同じ形式の引数を指定します。
@param arg フォーマットされる引数です。
@raise ArgumentError 引数が1つ以上でない場合に発生します。
@raise RuntimeError syslog がop... -
WEBrick
:: HTTPUtils . # mime _ type(filename , mime _ tab) -> String (9322.0) -
ファイル名 filename の拡張子をもとにその MIME タイプを指定された mime_tab から探して文字列として返します。MIME タイプが見つからない場合は "application/octet-stream" を返します。
ファイル名 filename の拡張子をもとにその MIME タイプを指定された mime_tab
から探して文字列として返します。MIME タイプが見つからない場合は "application/octet-stream"
を返します。
@param filename ファイル名を文字列で指定します。
@param mime_tab 拡張子をキー、MIME タイプを値とするハッシュを指定します。
require 'webrick'
include WEBrick::HTTPUtils
p mime_type('index.html', DefaultMimeTypes) ... -
Base64
. # decode64(str) -> String (9022.0) -
与えられた文字列を Base64 デコードしたデータを返します。
与えられた文字列を Base64 デコードしたデータを返します。
このメソッドは 2045 に対応しています。
@param str Base64 デコードする文字列を指定します。
require 'base64'
str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
puts Base64.decode64(str)
# This is line one
# T... -
Benchmark
. # realtime { . . . } -> Float (9022.0) -
与えられたブロックを評価して実行時間を計測して返します。 返り値の単位は、秒です。
与えられたブロックを評価して実行時間を計測して返します。
返り値の単位は、秒です。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark.realtime { [0] * (10**8) } # => 1.0929416846483946
//} -
ERB
:: Util . # h(s) -> String (9022.0) -
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s 中に含まれる &"<> を、実体参照 & " < > にそれぞれ変更した文字列を返します
(CGI.escapeHTMLとほぼ同じです)。
@param s HTMLエスケープを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts html_escape("is a > 0 & a < 10?")
# is a > 0 & a < 10?
//} -
ERB
:: Util . # html _ escape(s) -> String (9022.0) -
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s 中に含まれる &"<> を、実体参照 & " < > にそれぞれ変更した文字列を返します
(CGI.escapeHTMLとほぼ同じです)。
@param s HTMLエスケープを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts html_escape("is a > 0 & a < 10?")
# is a > 0 & a < 10?
//} -
ERB
:: Util . # u(s) -> String (9022.0) -
文字列 s を URLエンコードした文字列を返します。
文字列 s を URLエンコードした文字列を返します。
文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。
@param s URLエンコードを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P... -
ERB
:: Util . # url _ encode(s) -> String (9022.0) -
文字列 s を URLエンコードした文字列を返します。
文字列 s を URLエンコードした文字列を返します。
文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。
@param s URLエンコードを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P... -
WEBrick
:: HTMLUtils . # escape(string) -> String (9022.0) -
指定された文字列に含まれる ", &, <, > を文字実体参照に変換した文字列を 生成して返します。
指定された文字列に含まれる ", &, <, > を文字実体参照に変換した文字列を
生成して返します。
@param string エスケープしたい文字列を指定します。
require 'webrick'
p WEBrick::HTMLUtils.escape('/?q=foo&hl=<ja>') #=> "/?q=foo&hl=<ja>" -
WEBrick
:: HTTPStatus . # reason _ phrase(code) -> String (9022.0) -
指定された整数が表すステータスコードに対応する reason phrase を表す文字列を返します。
指定された整数が表すステータスコードに対応する reason phrase
を表す文字列を返します。
@param code HTTP のステータスコードを表す整数か文字列を指定します。
require 'webrick'
p WEBrick::HTTPStatus.reason_phrase(304) #=> "Not Modified" -
WEBrick
:: HTTPUtils . # load _ mime _ types(file) -> Hash (9022.0) -
Apache の mime.types ファイル形式の file を読み込み 拡張子をキー、MIME タイプを値とするハッシュを返します。キーも値も文字列です。
Apache の mime.types ファイル形式の file を読み込み
拡張子をキー、MIME タイプを値とするハッシュを返します。キーも値も文字列です。
@param file Apache の mime.types ファイル形式のファイルの名前を文字列で指定します。
require 'webrick'
p WEBrick::HTTPUtils.load_mime_types('/etc/mime.types')
# => {"htm"=>"text/html", "rpm"=>"application/x-rpm", ... } -
WEBrick
:: Utils . # getservername -> String (9022.0) -
プロセスが動いているマシンのホスト名を文字列で返します。
プロセスが動いているマシンのホスト名を文字列で返します。
require 'webrick'
p WEBrick::Utils.getservername #=> "localhost" -
WEBrick
:: Utils . # random _ string(len) -> String (9022.0) -
A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
@param len 得たい文字列の長さを整数で指定します。単位はバイトです。
require 'webrick'
p WEBrick::Utils.random_string(10) #=> "xF0jwU4RJd" -
Kernel
. # pp(*obj) -> object (694.0) -
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼ぶことと同等です。
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。
obj それぞれを引数として PP.pp を呼ぶことと同等です。
初回呼び出し時に自動的に pp を require します。
@param obj 表示したいオブジェクトを指定します。
//emlist[例][ruby]{
require 'pp'
b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a
#=> [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2,... -
LUSolve
. # lusolve(a , b , ps , zero = 0 . 0) -> [BigDecimal] (517.0) -
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
@param a 行列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。
@param b ベクトルを BigDecimal の配列で指定します。
@param ps LUSolve.#ludecomp の返り値を指定します。
@param zero 0.0 を表す値を指定します。
//emlist[][ruby]{
require ... -
JSON
. # load(source , proc = nil , options = {}) -> object (412.0) -
与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。
与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。
proc として手続きオブジェクトが与えられた場合は、読み込んだオブジェクトを
引数にその手続きを呼び出します。
require 'json'
str=<<JSON
[1,2,3]
JSON
JSON.load(str) # => [1,2,3]
JSON.load(str, proc{|v| p v }) # => [1,2,3]
# 以下が表示される
# 1
# 2
# 3
# [1,2,3]
str=<<JSON
{ "a"... -
JSON
. # restore(source , proc = nil , options = {}) -> object (412.0) -
与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。
与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。
proc として手続きオブジェクトが与えられた場合は、読み込んだオブジェクトを
引数にその手続きを呼び出します。
require 'json'
str=<<JSON
[1,2,3]
JSON
JSON.load(str) # => [1,2,3]
JSON.load(str, proc{|v| p v }) # => [1,2,3]
# 以下が表示される
# 1
# 2
# 3
# [1,2,3]
str=<<JSON
{ "a"... -
FileUtils
. # cmp(file _ a , file _ b) -> bool (397.0) -
ファイル file_a と file_b の内容が同じなら真を返します。
ファイル file_a と file_b の内容が同じなら真を返します。
@param file_a ファイル名。
@param file_b ファイル名。
//emlist[][ruby]{
require 'fileutils'
FileUtils.cmp('somefile', 'somefile') #=> true
FileUtils.cmp('/dev/null', '/dev/urandom') #=> false
//} -
FileUtils
. # compare _ file(file _ a , file _ b) -> bool (397.0) -
ファイル file_a と file_b の内容が同じなら真を返します。
ファイル file_a と file_b の内容が同じなら真を返します。
@param file_a ファイル名。
@param file_b ファイル名。
//emlist[][ruby]{
require 'fileutils'
FileUtils.cmp('somefile', 'somefile') #=> true
FileUtils.cmp('/dev/null', '/dev/urandom') #=> false
//} -
FileUtils
. # identical?(file _ a , file _ b) -> bool (397.0) -
ファイル file_a と file_b の内容が同じなら真を返します。
ファイル file_a と file_b の内容が同じなら真を返します。
@param file_a ファイル名。
@param file_b ファイル名。
//emlist[][ruby]{
require 'fileutils'
FileUtils.cmp('somefile', 'somefile') #=> true
FileUtils.cmp('/dev/null', '/dev/urandom') #=> false
//} -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (394.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (394.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin... -
Kconv
. # isjis(str) -> bool (376.0) -
文字列 str が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
文字列 str が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
@param str 判定対象の文字列
@see String#isjis
//emlist[例][ruby]{
require 'kconv'
euc_str = "\
\xa5\xaa\xa5\xd6\xa5\xb8\xa5\xa7\xa5\xaf\xa5\xc8\xbb\xd8\xb8\xfe\
\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\
\x52\x75\x62\x79".force_... -
FileUtils
. # cp _ lr(src , dest , noop: nil , verbose: nil , dereference _ root: true , remove _ destination: false) (358.0) -
src へのハードリンク dest を作成します。 src がディレクトリの場合、再帰的にリンクします。 dest がディレクトリの場合、src へのハードリンク dest/src を作成します。
src へのハードリンク dest を作成します。
src がディレクトリの場合、再帰的にリンクします。
dest がディレクトリの場合、src へのハードリンク dest/src を作成します。
@param src リンク元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest リンク作成先のファイルかディレクトリです。
@param options :noop, :verbose, :dereference_root, :remove_destination が指定できます。
c... -
Etc
. # uname -> {Symbol => String} (340.0) -
uname(2) で取得したシステム情報を Hash で返します。
uname(2) で取得したシステム情報を Hash で返します。
@return 少なくとも :sysname, :nodename, :release, :version, :machine の
5 つのキーを持つ Hash を返します。
//emlist[例][ruby]{
require 'etc'
require 'pp'
pp Etc.uname
# => {:sysname=>"Linux",
# :nodename=>"boron",
# :release=>"2.6.18-6-xen-686",
# :version=>"#1 ... -
JSON
. # dump(object , io = nil , limit = nil) -> String | IO (340.0) -
与えられたオブジェクトを JSON 形式の文字列に変換してダンプします。
与えられたオブジェクトを JSON 形式の文字列に変換してダンプします。
与えられたオブジェクトを引数として JSON.#generate を呼び出します。
@param object ダンプするオブジェクトを指定します。
@param io IO のように write メソッドを実装しているオブジェクトを指定します。
@param limit 指定した場合、limit 段以上深くリンクしたオブジェクトをダンプできません。
@raise ArgumentError オブジェクトのネストの深さが limit を越えた場合に発生します。
//emlist[例][ruby]{
re... -
Fiddle
. # dlunwrap(addr) -> object (322.0) -
指定されたアドレスの Ruby オブジェクトを返します。
指定されたアドレスの Ruby オブジェクトを返します。
@param addr Fiddle.#dlwrap が返した Ruby オブジェクトのアドレス(整数)を指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc" -
Fiddle
. # dlwrap(obj) -> Integer (322.0) -
指定されたオブジェクト obj のアドレスを表す整数を返します。
指定されたオブジェクト obj のアドレスを表す整数を返します。
@param obj Ruby のオブジェクトを指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc" -
FileTest
. # setgid?(file) -> bool (322.0) -
ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setgid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("g+s", "testfile")
FileTest.setgid?("testfile") # => true
FileUtils.chmod("g-s", "... -
FileTest
. # setuid?(file) -> bool (322.0) -
ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setuid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("u+s", "testfile")
FileTe... -
FileTest
. # socket?(file) -> bool (322.0) -
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require "socket"
IO.write("testfile", "test")
p FileTest.socket?("testfile") ... -
FileTest
. # sticky?(file) -> bool (322.0) -
ファイルの sticky ビット(chmod(2) 参照)が 立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルの sticky ビット(chmod(2) 参照)が
立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("o+t", "testfile")
FileTest.sticky?("testfile") # => true
FileUtils.... -
FileUtils
. # cd(dir , options = {}) {|dir| . . . . } -> object (322.0) -
プロセスのカレントディレクトリを dir に変更します。
プロセスのカレントディレクトリを dir に変更します。
ブロックとともに呼び出された時はブロック終了後に
元のディレクトリに戻ります。
@param dir ディレクトリを指定します。
@param options :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.cd('/', verbose: true) # chdir and report it
//} -
FileUtils
. # chdir(dir , options = {}) {|dir| . . . . } -> object (322.0) -
プロセスのカレントディレクトリを dir に変更します。
プロセスのカレントディレクトリを dir に変更します。
ブロックとともに呼び出された時はブロック終了後に
元のディレクトリに戻ります。
@param dir ディレクトリを指定します。
@param options :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.cd('/', verbose: true) # chdir and report it
//} -
FileUtils
. # uptodate?(newer , older _ list , options = nil) -> bool (322.0) -
newer が、older_list に含まれるすべてのファイルより新しいとき真。 存在しないファイルは無限に古いとみなされます。
newer が、older_list に含まれるすべてのファイルより新しいとき真。
存在しないファイルは無限に古いとみなされます。
@param newer ファイルを一つ指定します。
@param older_list ファイル名の配列を指定します。
@param options どのようなオプションも指定することはできません。
@raise ArgumentError options にオプションを指定した場合に発生します。
//emlist[][ruby]{
require 'fileutils'
FileUtils.uptodate?('hello.o', ['hello.... -
JSON
. # fast _ generate(object) -> String (322.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
このメソッドは循環参照のチェックを無効にしています。また、
JSON::NaN, JSON::Infinity, JSON::MinusInfinity を生成することがあります。
このため容易に無限ループを発生させることができるので、気をつけてください。
fast_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
//emlist[例][ruby]{
require "json"
JSON.fast_generate({ n... -
JSON
. # fast _ unparse(object) -> String (322.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
このメソッドは循環参照のチェックを無効にしています。また、
JSON::NaN, JSON::Infinity, JSON::MinusInfinity を生成することがあります。
このため容易に無限ループを発生させることができるので、気をつけてください。
fast_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
//emlist[例][ruby]{
require "json"
JSON.fast_generate({ n... -
JSON
. # generate(object , state = nil) -> String (322.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
デフォルトでは、サイズが最小となる JSON 形式の文字列を生成します。
また、循環参照のチェックを行います。JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。
unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param state JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
... -
JSON
. # parse!(source , options = {}) -> object (322.0) -
与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。
与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。
JSON.#parse よりも危険なデフォルト値が指定されているので
信頼できる文字列のみを入力として使用するようにしてください。
@param source JSON 形式の文字列を指定します。
@param options オプションをハッシュで指定します。
指定可能なオプションは以下の通りです。
: :max_nesting
入れ子になっているデータの最大の深さを指定します。
数値を指定すると深さのチェックを行います。偽を指定すると深さのチェックを行いません。
デフォルト... -
JSON
. # parse(source , options = {}) -> object (322.0) -
与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。
与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。
@param source JSON 形式の文字列を指定します。
@param options オプションをハッシュで指定します。
指定可能なオプションは以下の通りです。
: :max_nesting
入れ子になっているデータの最大の深さを指定します。
偽を指定すると深さのチェックを行いません。デフォルトは 19 です。
: :allow_nan
真を指定すると 4627 を無視してパース時に JSON::NaN, JSON::Infinity,
JSON::MinusInf... -
JSON
. # pretty _ generate(object , options = nil) -> String (322.0) -
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
このメソッドは JSON.#generate よりも人間に読みやすい文字列を返します。
pretty_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param options JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
ハッシュを使用する場合指定可能なオプションは JSON.#generate を参照してください。
//emlist[... -
JSON
. # pretty _ unparse(object , options = nil) -> String (322.0) -
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
このメソッドは JSON.#generate よりも人間に読みやすい文字列を返します。
pretty_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param options JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
ハッシュを使用する場合指定可能なオプションは JSON.#generate を参照してください。
//emlist[... -
JSON
. # unparse(object , state = nil) -> String (322.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
デフォルトでは、サイズが最小となる JSON 形式の文字列を生成します。
また、循環参照のチェックを行います。JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。
unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param state JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
... -
Syslog
. # opened? -> bool (322.0) -
syslog をオープンしていれば真を返します。
syslog をオープンしていれば真を返します。
使用例
require 'syslog'
p Syslog.opened? #=> false
Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
p Syslog.opened? #=> true -
Digest
. # hexencode(string) -> String (76.0) -
引数である文字列 string を、16進数に変換した文字列を生成して返します。
引数である文字列 string を、16進数に変換した文字列を生成して返します。
@param string 文字列を指定します。
//emlist[][ruby]{
require 'digest'
p Digest.hexencode("") # => ""
p Digest.hexencode("d") # => "64"
p Digest.hexencode("\1\2") # => "0102"
p Digest.hexencode("\xB0") # => "b0"
p digest = Digest::MD5.digest("ruby") # => "... -
Shellwords
. # shellsplit(line) -> [String] (58.0) -
Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。
Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、
単語 (文字列) の配列を返します。
空白、シングルクォート (')、ダブルクォート (")、バックスラッシュ (\)
を解釈します。
@param line 分割の対象となる文字列を指定します。
@return 分割結果の各文字列を要素とする配列を返します。
@raise ArgumentError 引数の中に対でないシングルクォートまたはダブル
クォートが現れた場合に発生します。
例:
require 'shellwords'
p Shellwords.shellword... -
Shellwords
. # shellwords(line) -> [String] (58.0) -
Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。
Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、
単語 (文字列) の配列を返します。
空白、シングルクォート (')、ダブルクォート (")、バックスラッシュ (\)
を解釈します。
@param line 分割の対象となる文字列を指定します。
@return 分割結果の各文字列を要素とする配列を返します。
@raise ArgumentError 引数の中に対でないシングルクォートまたはダブル
クォートが現れた場合に発生します。
例:
require 'shellwords'
p Shellwords.shellword...