別のキーワード
ライブラリ
- ビルトイン (9)
- abbrev (1)
- base64 (3)
- benchmark (5)
- bigdecimal (4)
-
bigdecimal
/ ludcmp (1) -
bigdecimal
/ math (6) - digest (1)
- erb (5)
- etc (7)
- fiddle (3)
- fileutils (33)
- find (2)
- json (11)
- kconv (1)
- objspace (4)
- open3 (14)
- openssl (1)
- readline (1)
- shellwords (4)
- syslog (22)
- timeout (2)
-
webrick
/ htmlutils (1) -
webrick
/ httpauth (1) -
webrick
/ httpstatus (1) -
webrick
/ httputils (2) -
webrick
/ utils (2) -
win32
/ resolv (2)
クラス
-
Win32
:: Resolv (2)
モジュール
- Abbrev (1)
- Base64 (3)
- Benchmark (5)
- BigMath (8)
- Digest (1)
-
ERB
:: DefMethod (1) -
ERB
:: Util (4) - Etc (7)
- Fiddle (3)
- FileTest (4)
- FileUtils (33)
- Find (2)
- JSON (11)
- Kconv (1)
- Kernel (7)
- LUSolve (1)
- ObjectSpace (4)
- Open3 (14)
-
OpenSSL
:: ASN1 (1) - Readline (1)
- Shellwords (4)
- Syslog (20)
-
Syslog
:: Macros (2) - Timeout (2)
-
WEBrick
:: HTMLUtils (1) -
WEBrick
:: HTTPAuth (1) -
WEBrick
:: HTTPStatus (1) -
WEBrick
:: HTTPUtils (2) -
WEBrick
:: Utils (2)
キーワード
- BigDecimal (2)
- E (1)
-
LOG
_ MASK (1) -
LOG
_ UPTO (1) - PI (1)
- abbrev (1)
- alert (1)
-
allocation
_ sourcefile (1) -
allocation
_ sourceline (1) - atan (1)
- autoload (1)
-
basic
_ auth (1) - benchmark (1)
- bm (1)
- bmbm (1)
- capture2 (1)
- capture2e (1)
- capture3 (1)
- cd (2)
- chdir (2)
- chmod (1)
-
chmod
_ R (1) - chown (1)
-
chown
_ R (1) - close (1)
- cmp (1)
-
compare
_ file (1) - confstr (1)
- copy (1)
- cos (1)
- cp (1)
-
cp
_ lr (1) -
cp
_ r (1) - crit (1)
- debug (1)
- decode (1)
- decode64 (1)
-
def
_ erb _ method (1) - dlunwrap (1)
- dlwrap (1)
- dump (1)
- emerg (1)
- encode64 (1)
- err (1)
- escape (1)
- exp (1)
- facility (1)
-
fast
_ generate (1) -
fast
_ unparse (1) - find (2)
- free (1)
- generate (1)
-
get
_ hosts _ path (1) -
get
_ resolv _ info (1) - getlogin (1)
- getservername (1)
- h (1)
- hexencode (1)
-
html
_ escape (1) - ident (1)
- identical? (1)
- info (1)
- install (1)
- isjis (1)
- link (1)
- ln (1)
-
ln
_ s (1) - load (2)
-
load
_ mime _ types (1) - log (2)
- lusolve (1)
- makedirs (1)
- mask (1)
- mask= (1)
- measure (1)
-
memsize
_ of (1) -
mime
_ type (1) - mkdir (1)
-
mkdir
_ p (1) - mkpath (1)
- move (1)
- mv (1)
- notice (1)
- nprocessors (1)
- open (2)
- open! (1)
- opened? (1)
- parse (1)
- parse! (1)
- pipeline (1)
-
pipeline
_ r (2) -
pipeline
_ rw (2) -
pipeline
_ start (2) -
pipeline
_ w (2) - popen3 (2)
- pp (1)
-
pretty
_ generate (1) -
pretty
_ unparse (1) -
random
_ string (1) - readline (1)
- realtime (1)
-
reason
_ phrase (1) - remove (1)
-
remove
_ entry (1) - reopen (1)
-
require
_ relative (1) - restore (1)
- rm (1)
-
rm
_ r (1) - rmdir (1)
- setgid? (1)
- setuid? (1)
- shellescape (1)
- shelljoin (1)
- shellsplit (1)
- shellwords (1)
- sin (1)
- socket? (1)
- sqrt (1)
- sticky? (1)
- symlink (1)
- sysconf (1)
- sysconfdir (1)
- systmpdir (1)
- timeout (2)
- touch (1)
-
trace
_ object _ allocations (1) - u (1)
- uname (1)
- unparse (1)
- uptodate? (1)
-
url
_ encode (1) -
urlsafe
_ encode64 (1) - warning (1)
検索結果
先頭5件
-
Kernel
. # require(feature) -> bool (54379.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
Kernel
. # require _ relative(relative _ feature) -> bool (18445.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
. # load(file , priv = false) -> true (94.0) -
Ruby プログラム file をロードして実行します。再ロード可能です。
Ruby プログラム file をロードして実行します。再ロード可能です。
file が絶対パスのときは file からロードします。
file が相対パスのときは組み込み変数 $:
に示されるパスとカレントディレクトリを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
ロードに成功した場合は true を返します。
@param file ファイル名の文字列です。
@param priv 真のとき、ロ... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (94.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
prompt を出力し、ユーザからのキー入力を待ちます。
エンターキーの押下などでユーザが文字列を入力し終えると、
入力した文字列を返します。
このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。
何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、
ユーザからの入力がない場合は nil を返します。
本メソッドはスレッドに対応しています。
入力待ち状態のときはスレッドコンテキストの切替えが発生します。
入力時には行内編集が可能で、vi モードと Emacs モードが用意されています。
デフォルトは Emacs モードです。
... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (94.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (94.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Kernel
. # autoload(const _ name , feature) -> nil (88.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
定数 const_name を最初に参照した時に feature を
Kernel.#require するように設定します。
const_name には、 "::" 演算子を含めることはできません。
ネストした定数を指定する方法は Module#autoload を参照してください。
const_name が autoload 設定されていて、まだ定義されてない(ロードされていない)ときは、
autoload する対象を置き換えます。
const_name が(autoloadではなく)既に定義されているときは何もしません。
@param const_name 定数をString また... -
Open3
. # popen3(*cmd) -> [IO , IO , IO , Thread] (76.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力、標準エラー出
力と... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (76.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力、標準エラー出
力と... -
Benchmark
. # bm(label _ width = 0 , *labels) {|rep| . . . } -> [Benchmark :: Tms] (58.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... -
FileUtils
. # cp _ lr(src , dest , noop: nil , verbose: nil , dereference _ root: true , remove _ destination: false) (58.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... -
LUSolve
. # lusolve(a , b , ps , zero = 0 . 0) -> [BigDecimal] (58.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 ... -
Etc
. # uname -> {Symbol => String} (40.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 ... -
FileUtils
. # chmod(mode , list , options = {}) -> Array (40.0) -
ファイル list のパーミッションを mode に変更します。
ファイル list のパーミッションを mode に変更します。
@param mode パーミッションを8進数(absolute mode)か文字列(symbolic
mode)で指定します。
@param list ファイルのリストを指定します。 対象のファイルが一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :noop と :verbose が指定可能です。
c:FileUtils#options
@return list を配列として返しま... -
FileUtils
. # chown _ R(user , group , list , options = {}) -> Array (40.0) -
list 以下のファイルの所有ユーザと所有グループを user と group へ再帰的に変更します。
list 以下のファイルの所有ユーザと所有グループを
user と group へ再帰的に変更します。
user, group に nil または -1 を渡すとその項目は変更しません。
@param user ユーザー名か uid を指定します。nil/-1 を指定すると変更しません。
@param group グループ名か gid を指定します。nil/-1 を指定すると変更しません。
@param list ファイルのリストを指定します。対象のファイルが一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param opti... -
FileUtils
. # cp _ r(src , dest , options = {}) -> () (40.0) -
src を dest にコピーします。src がディレクトリであったら再帰的に コピーします。その際 dest がディレクトリなら dest/src にコピーします。
src を dest にコピーします。src がディレクトリであったら再帰的に
コピーします。その際 dest がディレクトリなら dest/src にコピーします。
@param src コピー元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest コピー先のファイルかディレクトリです。
@param options :preserve, :noop, :verbose, :dereference_root, :remove_destination が指定できます。
c:FileU... -
JSON
. # dump(object , io = nil , limit = nil) -> String | IO (40.0) -
与えられたオブジェクトを JSON 形式の文字列に変換してダンプします。
与えられたオブジェクトを JSON 形式の文字列に変換してダンプします。
与えられたオブジェクトを引数として JSON.#generate を呼び出します。
@param object ダンプするオブジェクトを指定します。
@param io IO のように write メソッドを実装しているオブジェクトを指定します。
@param limit 指定した場合、limit 段以上深くリンクしたオブジェクトをダンプできません。
@raise ArgumentError オブジェクトのネストの深さが limit を越えた場合に発生します。
//emlist[例][ruby]{
re... -
Kernel
. # pp(*obj) -> object (40.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,... -
Open3
. # pipeline(*cmds) -> [Process :: Status] (40.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。
指定したコマンドのリストをパイプで繋いで順番に実行します。
@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ... -
OpenSSL
:: ASN1 . # decode(der) -> OpenSSL :: ASN1 :: ASN1Data (40.0) -
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を
OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
複数の ASN.1 の値が含まれている場合、先頭の値だけを返します。
ASN.1 オブジェクトが Constructive である場合は、
それを構成する要素も再帰的に解析します。
例:
ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) -> self (40.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使
用可能となります。
ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、
最後に Syslog.#close を行います。
syslog の詳細については syslog(3) を参照してください。
@param ident すべてのログにつく識別子で、どのプログラムから送られ
たログなのかを識別するために使われる文字列を指定します。
指定しない場合はプログラム名が使われます。
@param options Syslog.open ... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) { |syslog| . . . } -> self (40.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使
用可能となります。
ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、
最後に Syslog.#close を行います。
syslog の詳細については syslog(3) を参照してください。
@param ident すべてのログにつく識別子で、どのプログラムから送られ
たログなのかを識別するために使われる文字列を指定します。
指定しない場合はプログラム名が使われます。
@param options Syslog.open ... -
Win32
:: Resolv . # get _ resolv _ info -> [[String] , [String]] (40.0) -
ドメイン名とネームサーバを配列の配列で返します。
ドメイン名とネームサーバを配列の配列で返します。
例:
require "win32/resolv"
p Win32::Resolv.get_resolv_info #=> [["my.example.com"], ["192.168.1.1"]]
設定されていない情報は nil になります。
# ドメイン名が設定されていない場合。
require "win32/resolv"
p Win32::Resolv.get_resolv_info #=> [nil, ["192.168.1.1"]] -
Abbrev
. # abbrev(words , pattern = nil) -> Hash (22.0) -
文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
文字列の配列から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。
第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。
@param words 元となる文字列の配列。
@param pattern Regexp か String を指定します。
@return 短縮形をキー、元の文字列を値とするハッシュを返します。
require 'abbrev'
# words に同じ文字列が含まれ... -
Base64
. # decode64(str) -> String (22.0) -
与えられた文字列を Base64 デコードしたデータを返します。
与えられた文字列を Base64 デコードしたデータを返します。
このメソッドは 2045 に対応しています。
@param str Base64 デコードする文字列を指定します。
require 'base64'
str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
puts Base64.decode64(str)
# This is line one
# T... -
Base64
. # encode64(bin) -> String (22.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 (22.0) -
与えられたデータを Base64 エンコードした文字列を返します。
与えられたデータを Base64 エンコードした文字列を返します。
このメソッドは 4648 の "Base 64 Encoding with URL and Filename Safe Alphabet" に対応しています。
"+" を "-" に "/" を "_" に置き換えます。
デフォルトでは戻り値は = によるパディングを含むことがあります。
パディングを含めたくない場合は、padding オプションに false を指定してください。
@param bin Base64 エンコードするデータを指定します。
@param padding false を指定した場合、 = によ... -
Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] (22.0) -
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示されます。
@param caption レポートの一行目に表示する文字列を指定します。
@param label_width ラベルの幅を指定します。
@param fmtstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使用されます。... -
Benchmark
. # bmbm(width = 0) {|job| . . . } -> [Benchmark :: Tms] (22.0) -
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。
ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する事によってこの影響を最小化します。
一回目は実行環境を安定化するためにリハーサルとして実行します。二回目は本番として
実行します。
二回目のブロック実行の前に GC.start を実行しますが、この実行時間は計測には
含まれません。しかし、実際にはこのメソッドを使用しても、GC などの影響を分離する
ことは保証されません。
@param width ラベルの幅を... -
Benchmark
. # measure(label = "") { . . . } -> Benchmark :: Tms (22.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... -
Benchmark
. # realtime { . . . } -> Float (22.0) -
与えられたブロックを評価して実行時間を計測して返します。 返り値の単位は、秒です。
与えられたブロックを評価して実行時間を計測して返します。
返り値の単位は、秒です。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark.realtime { [0] * (10**8) } # => 1.0929416846483946
//} -
BigMath
. # E(prec) -> BigDecimal (22.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 (22.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 (22.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 (22.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 (22.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 (22.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 (22.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 (22.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... -
Digest
. # hexencode(string) -> String (22.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") # => "... -
ERB
:: DefMethod . # def _ erb _ method(methodname , erb) -> nil (22.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... -
ERB
:: Util . # h(s) -> String (22.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 (22.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 (22.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 (22.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... -
Etc
. # confstr(name) -> String | nil (22.0) -
confstr(3) で取得したシステム設定変数の値を返します。
confstr(3) で取得したシステム設定変数の値を返します。
@param name Etc モジュールの CS_ で始まる定数のいずれかを指定します。
引数 name に対応する設定が行われていない状態の場合は nil を返します。
(confstr(3) が -1 を返し、errno が設定されていない場合)
//emlist[][ruby]{
require "etc"
Etc.confstr(Etc::CS_PATH) # => "/bin:/usr/bin"
# GNU/Linux
Etc.confstr(Etc::CS_GNU_LIBC_VERSION) # => "... -
Etc
. # getlogin -> String | nil (22.0) -
自分の login 名を返します。得られなかった場合は nil を返します。
自分の login 名を返します。得られなかった場合は nil を返します。
getlogin は su(1) などでログイン時のユーザとは異なるユーザになっている場合、
現在ではなくログイン時のユーザを返します。
このメソッドが失敗した場合は Etc.#getpwuid に
フォールバックするとよいでしょう。
たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。
//emlist[][ruby]{
require "etc"
login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Et... -
Etc
. # nprocessors -> Integer (22.0) -
有効な CPU コア数を返します。
有効な CPU コア数を返します。
//emlist[][ruby]{
require 'etc'
p Etc.nprocessors #=> 4
//} -
Etc
. # sysconf(name) -> Integer | nil (22.0) -
sysconf(3) で取得したシステム設定変数の値を返します。
sysconf(3) で取得したシステム設定変数の値を返します。
引数 name が制限に関する設定値であり、設定が制限がない状態の場合は nil
を返します。(sysconf(3) が -1 を返し、errno が設定されていない
場合)
@param name Etc モジュールの SC_ で始まる定数のいずれかを指定します。
//emlist[][ruby]{
require "etc"
Etc.sysconf(Etc::SC_ARG_MAX) # => 2097152
# Number of processors.
# It is not standardized.
Etc.... -
Etc
. # sysconfdir -> String | nil (22.0) -
システムの設定ディレクトリを返します。
システムの設定ディレクトリを返します。
//emlist[][ruby]{
require 'etc'
p Etc.sysconfdir # => "/etc"
//}
主に "/etc" を返しますが、Ruby をソースからビルドした場合は異なるディレ
クトリを返す場合があります。例えば、Ruby を /usr/local にインストールし
た場合は、"/usr/local/etc" を返します。
Windows では常にシステムで提供されたディレクトリを返します。 -
Etc
. # systmpdir -> String | nil (22.0) -
システムのテンポラリディレクトリを返します。
システムのテンポラリディレクトリを返します。
//emlist[][ruby]{
require 'etc'
p Etc.systmpdir # => "/tmp"
//} -
Fiddle
. # dlunwrap(addr) -> object (22.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 (22.0) -
指定されたオブジェクト obj のアドレスを表す整数を返します。
指定されたオブジェクト obj のアドレスを表す整数を返します。
@param obj Ruby のオブジェクトを指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc" -
Fiddle
. # free(addr) -> nil (22.0) -
指定された addr が指すメモリ領域を開放します。
指定された addr が指すメモリ領域を開放します。
必ず Fiddle.#malloc が返した整数を addr に与えなければいけません。
そうでない場合、ruby インタプリタが異常終了します。
@param addr Fiddle.#malloc で確保されたメモリ領域を指す整数を指定します。
例:
require 'fiddle'
addr = Fiddle.malloc(10)
p addr #=> 136942800
Fiddle.free(addr) -
FileTest
. # setgid?(file) -> bool (22.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 (22.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 (22.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 (22.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 = {}) -> 0 (22.0) -
プロセスのカレントディレクトリを dir に変更します。
プロセスのカレントディレクトリを dir に変更します。
ブロックとともに呼び出された時はブロック終了後に
元のディレクトリに戻ります。
@param dir ディレクトリを指定します。
@param options :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.cd('/', verbose: true) # chdir and report it
//} -
FileUtils
. # cd(dir , options = {}) {|dir| . . . . } -> object (22.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 = {}) -> 0 (22.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 (22.0) -
プロセスのカレントディレクトリを dir に変更します。
プロセスのカレントディレクトリを dir に変更します。
ブロックとともに呼び出された時はブロック終了後に
元のディレクトリに戻ります。
@param dir ディレクトリを指定します。
@param options :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.cd('/', verbose: true) # chdir and report it
//} -
FileUtils
. # chmod _ R(mode , list , options = {}) -> Array (22.0) -
ファイル list のパーミッションを再帰的に mode へ変更します。
ファイル list のパーミッションを再帰的に mode へ変更します。
@param mode パーミッションを8進数(absolute mode)か文字列(symbolic
mode)で指定します(FileUtils.#chmod 参照)。
@param list ファイルのリストを指定します。対象のファイルが一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :noop と :verbose が指定可能です。
c:FileUtils#options... -
FileUtils
. # chown(user , group , list , options = {}) -> Array (22.0) -
ファイル list の所有ユーザと所有グループを user と group に変更します。
ファイル list の所有ユーザと所有グループを user と group に変更します。
user, group に nil または -1 を渡すとその項目は変更しません。
@param user ユーザー名か uid を指定します。nil/-1 を指定すると変更しません。
@param group グループ名か gid を指定します。nil/-1 を指定すると変更しません。
@param list ファイルのリストを指定します。対象のファイルが一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :n... -
FileUtils
. # cmp(file _ a , file _ b) -> bool (22.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 (22.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
. # copy(src , dest , options = {}) -> () (22.0) -
ファイル src を dest にコピーします。
ファイル src を dest にコピーします。
src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。
src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。
@param src コピ... -
FileUtils
. # cp(src , dest , options = {}) -> () (22.0) -
ファイル src を dest にコピーします。
ファイル src を dest にコピーします。
src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。
src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。
@param src コピ... -
FileUtils
. # identical?(file _ a , file _ b) -> bool (22.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
. # install(src , dest , options = {}) -> () (22.0) -
src と dest の内容が違うときだけ src を dest にコピーします。
src と dest の内容が違うときだけ src を dest にコピーします。
@param src コピー元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest コピー先のファイルかディレクトリです。
@param options :preserve, :noop, :verbose, :mode, :owner, :group が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUti... -
FileUtils
. # link(src , dest , options = {}) -> () (22.0) -
src へのハードリンク dest を作成します。
src へのハードリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのハードリンク dest/src[0]、src[1] への
ハードリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param... -
FileUtils
. # ln(src , dest , options = {}) -> () (22.0) -
src へのハードリンク dest を作成します。
src へのハードリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのハードリンク dest/src[0]、src[1] への
ハードリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param... -
FileUtils
. # ln _ s(src , dest , options = {}) -> () (22.0) -
src へのシンボリックリンク dest を作成します。
src へのシンボリックリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのシンボリックリンク dest/src[0]、src[1] への
シンボリックリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します... -
FileUtils
. # makedirs(list , options = {}) -> Array (22.0) -
ディレクトリ dir とその親ディレクトリを全て作成します。
ディレクトリ 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... -
FileUtils
. # mkdir(dir , options = {}) -> () (22.0) -
ディレクトリ dir を作成します。
ディレクトリ dir を作成します。
@param dir 作成するディレクトリ。
@param options :mode, :noop, :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.mkdir('test')
FileUtils.mkdir(%w( tmp data ))
FileUtils.mkdir('notexist', noop: true) # does not create really
//} -
FileUtils
. # mkdir _ p(list , options = {}) -> Array (22.0) -
ディレクトリ dir とその親ディレクトリを全て作成します。
ディレクトリ 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... -
FileUtils
. # mkpath(list , options = {}) -> Array (22.0) -
ディレクトリ dir とその親ディレクトリを全て作成します。
ディレクトリ 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... -
FileUtils
. # move(src , dest , options = {}) -> () (22.0) -
ファイル src を dest に移動します。
ファイル src を dest に移動します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは src を dest/src へ移動します。
dest がすでに存在しディレクトリでないときは src は dest を上書きします。
src が複数の場合、
src[0] を dest/src[0]、src[1] を dest/src[1] へ移動します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param src 元のファイル。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列... -
FileUtils
. # mv(src , dest , options = {}) -> () (22.0) -
ファイル src を dest に移動します。
ファイル src を dest に移動します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは src を dest/src へ移動します。
dest がすでに存在しディレクトリでないときは src は dest を上書きします。
src が複数の場合、
src[0] を dest/src[0]、src[1] を dest/src[1] へ移動します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param src 元のファイル。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列... -
FileUtils
. # remove(list , options = {}) -> () (22.0) -
list で指定された対象を消去します。
list で指定された対象を消去します。
@param list 削除する対象。一つの場合は文字列も指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :force, :noop, :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.rm('junk.txt')
FileUtils.rm(Dir.glob('*~'))
FileUtils.rm('NotExistFile', f... -
FileUtils
. # remove _ entry(path , force = false) -> () (22.0) -
ファイル path を削除します。path がディレクトリなら再帰的に削除します。
ファイル path を削除します。path がディレクトリなら再帰的に削除します。
このメソッドにはローカル脆弱性が存在します。
詳しくは FileUtils.#remove_entry_secure の項を参照してください。
@param path 削除するパス。
@param force 真のときは削除中に発生した StandardError を無視します。
//emlist[][ruby]{
require 'fileutils'
FileUtils.remove_entry '/tmp/ruby.tmp.08883'
//}
@see FileUtils.#remove_e... -
FileUtils
. # rm(list , options = {}) -> () (22.0) -
list で指定された対象を消去します。
list で指定された対象を消去します。
@param list 削除する対象。一つの場合は文字列も指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :force, :noop, :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.rm('junk.txt')
FileUtils.rm(Dir.glob('*~'))
FileUtils.rm('NotExistFile', f... -
FileUtils
. # rm _ r(list , options = {}) -> () (22.0) -
ファイルまたはディレクトリ list を再帰的に消去します。
ファイルまたはディレクトリ list を再帰的に消去します。
@param list 削除する対象。一つの場合は文字列も指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :force, :noop, :verbose, :secure が指定できます。
c:FileUtils#options
=== 注意
このメソッドにはローカル脆弱性が存在します。
この脆弱性を回避するには :secure オプションを使用してください。
詳しくは FileUtils.#remove_entry_secure... -
FileUtils
. # rmdir(dir , options = {}) -> () (22.0) -
ディレクトリ dir を削除します。
ディレクトリ dir を削除します。
ディレクトリにファイルが残っていた場合は削除に失敗します。
@param dir 削除するディレクトリを指定します。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :parents, :noop, :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.rmdir('somedir')
FileUtils.rmdir(%... -
FileUtils
. # symlink(src , dest , options = {}) -> () (22.0) -
src へのシンボリックリンク dest を作成します。
src へのシンボリックリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのシンボリックリンク dest/src[0]、src[1] への
シンボリックリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します... -
FileUtils
. # touch(list , options = {}) -> () (22.0) -
list で指定されたファイルの最終変更時刻 (mtime) と アクセス時刻 (atime) を変更します。
list で指定されたファイルの最終変更時刻 (mtime) と
アクセス時刻 (atime) を変更します。
list で指定されたファイルが存在しない場合は空のファイルを作成します。
@param list 対象のファイル。一つの場合は文字列も指定可能です。
二つ以上指定する場合は配列で指定します。
@param options :mtime, :nocreate, :noop, :verbose が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils... -
FileUtils
. # uptodate?(newer , older _ list , options = nil) -> bool (22.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.... -
Find
. # find(*dirs , ignore _ error: true) -> Enumerator (22.0) -
find(1) のように dir 配下のすべてのファイルや ディレクトリを一つずつ引数 file に渡してブロックを実行します。
find(1) のように dir 配下のすべてのファイルや
ディレクトリを一つずつ引数 file に渡してブロックを実行します。
ディレクトリのシンボリックリンクは辿りません。
また file に渡される順序は不定です。
ブロックを省略した場合は Enumerator を返します。
@param dirs 探索するディレクトリを一つ以上指定します。
@param ignore_error 探索中に発生した例外を無視するかどうかを指定します。
例:
require 'find'
Find.find('/tmp') {|f|
Find.prune if f ==... -
Find
. # find(*dirs , ignore _ error: true) {|file| . . . } -> nil (22.0) -
find(1) のように dir 配下のすべてのファイルや ディレクトリを一つずつ引数 file に渡してブロックを実行します。
find(1) のように dir 配下のすべてのファイルや
ディレクトリを一つずつ引数 file に渡してブロックを実行します。
ディレクトリのシンボリックリンクは辿りません。
また file に渡される順序は不定です。
ブロックを省略した場合は Enumerator を返します。
@param dirs 探索するディレクトリを一つ以上指定します。
@param ignore_error 探索中に発生した例外を無視するかどうかを指定します。
例:
require 'find'
Find.find('/tmp') {|f|
Find.prune if f ==... -
JSON
. # fast _ generate(object) -> String (22.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 (22.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 (22.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
デフォルトでは、サイズが最小となる JSON 形式の文字列を生成します。
また、循環参照のチェックを行います。JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。
unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param state JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
... -
JSON
. # load(source , proc = nil , options = {}) -> object (22.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
. # parse!(source , options = {}) -> object (22.0) -
与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。
与えられた JSON 形式の文字列を Ruby オブジェクトに変換して返します。
JSON.#parse よりも危険なデフォルト値が指定されているので
信頼できる文字列のみを入力として使用するようにしてください。
@param source JSON 形式の文字列を指定します。
@param options オプションをハッシュで指定します。
指定可能なオプションは以下の通りです。
: :max_nesting
入れ子になっているデータの最大の深さを指定します。
数値を指定すると深さのチェックを行います。偽を指定すると深さのチェックを行いません。
デフォルト... -
JSON
. # parse(source , options = {}) -> object (22.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 (22.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 (22.0) -
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
このメソッドは JSON.#generate よりも人間に読みやすい文字列を返します。
pretty_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param options JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
ハッシュを使用する場合指定可能なオプションは JSON.#generate を参照してください。
//emlist[... -
JSON
. # restore(source , proc = nil , options = {}) -> object (22.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
. # unparse(object , state = nil) -> String (22.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
デフォルトでは、サイズが最小となる JSON 形式の文字列を生成します。
また、循環参照のチェックを行います。JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。
unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param state JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
... -
Kconv
. # isjis(str) -> bool (22.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_...