別のキーワード
ライブラリ
モジュール
キーワード
- BigDecimal (24)
- E (12)
- PI (12)
- abbrev (12)
-
allocation
_ sourcefile (12) -
allocation
_ sourceline (12) - atan (12)
- autoload (12)
- benchmark (12)
- bm (12)
- bmbm (12)
- cbrt (6)
- cbrt! (6)
- cd (24)
- chdir (24)
- chmod (12)
-
chmod
_ R (12) - chown (12)
-
chown
_ R (12) - cmp (12)
-
compare
_ file (12) - confstr (12)
- copy (12)
- cos (12)
- cos! (6)
- cp (12)
-
cp
_ lr (7) -
cp
_ r (12) - decode (12)
- dlunwrap (12)
- dlwrap (12)
- dump (12)
- encode64 (12)
- exp (18)
- exp! (6)
-
fast
_ generate (12) -
fast
_ unparse (12) - free (12)
- generate (12)
- h (12)
- hexencode (12)
-
html
_ escape (12) - identical? (12)
- install (12)
- isjis (12)
- link (12)
- ln (12)
-
ln
_ s (12) - load (24)
- log (24)
- log! (12)
- lusolve (12)
- makedirs (12)
-
memsize
_ of (12) - mkdir (12)
-
mkdir
_ p (12) - mkpath (12)
- move (12)
- mv (12)
- open (4)
- parse (12)
- parse! (12)
- pipeline (12)
- pp (12)
-
pretty
_ generate (12) -
pretty
_ unparse (12) - readline (12)
- remove (12)
-
remove
_ entry (12) -
require
_ relative (12) - restore (12)
- rm (12)
-
rm
_ r (12) - rmdir (12)
- setgid? (12)
- setuid? (12)
- sin (12)
- sin! (6)
- socket? (12)
- sqrt (18)
- sqrt! (6)
- sticky? (12)
- symlink (12)
- sysconf (12)
- tan! (6)
- timeout (21)
- touch (12)
- u (12)
- uname (12)
- unparse (12)
- uptodate? (12)
-
url
_ encode (12) -
urlsafe
_ encode64 (12)
検索結果
先頭5件
- Kernel
. # require(feature) -> bool - Kernel
. # require _ relative(relative _ feature) -> bool - FileUtils
. # cp _ lr(src , dest , noop: nil , verbose: nil , dereference _ root: true , remove _ destination: false) - Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object - Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object
-
Kernel
. # require(feature) -> bool (18212.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
...
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番......境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*.dll など) であり、feature の拡張子が省略された場合は......返します。
@param feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
//emlist[例][ruby]{
$LOADED_FEATURES.grep(/prime/).size # => 0
require "prime" # => true
$LOADED_FEATURES.grep(/prime/).size # => 1
require "prime"... -
Kernel
. # require _ relative(relative _ feature) -> bool (6196.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でも同様です。
//emlist[例][ruby]{
# ---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
# ---------- end some.rb -------
require 'some'
p $a #=> 1
p @a #=> 1
p A #=> 1
p a # undefined local variable or method `a' for #<Object:0x294f9ec @a=1> (NameError)
//}... -
FileUtils
. # cp _ lr(src , dest , noop: nil , verbose: nil , dereference _ root: true , remove _ destination: false) (151.0) -
src へのハードリンク dest を作成します。 src がディレクトリの場合、再帰的にリンクします。 dest がディレクトリの場合、src へのハードリンク dest/src を作成します。
...dest/src を作成します。
@param src リンク元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest リンク作成先のファイルかディレクトリです。
@param options :noop, :verbose, :der......できます。
c:FileUtils#options
@raise ArgumentError dest が src に含まれる場合に発生します。
@raise Errno::EEXIST src が一つで dest がすでに存在しディレクトリでない場合に発生します。
@raise Errno::ENOTDIR src が複数で dest がデ......イブラリを site_ruby にインストールする例][ruby]{
require 'fileutils'
FileUtils.rm_r site_ruby + '/mylib', force: true
FileUtils.cp_lr 'lib/', site_ruby + '/mylib'
//}
//emlist[様々なファイルを対象ディレクトリにリンクする例][ruby]{
require 'fileutils'
FileUtils... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (133.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略し......た場合は
"execution expired" になります.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.t......in[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(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (133.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略し......た場合は
"execution expired" になります.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.t......in[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(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "... -
OpenSSL
:: ASN1 . # decode(der) -> OpenSSL :: ASN1 :: ASN1Data (127.0) -
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
...す。
例:
ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem)
pp OpenSSL::ASN1.decode(cert.to_der)
' mycert.pem
#<OpenSSL::ASN1::Sequence:0x814e9fc
@tag=16,
@tag_class=:UNIVERSAL,
@tagging=nil,
@value=
[#<Op......nce:0x814ead8
@tag=16,
@tag_class=:UNIVERSAL,
@tagging=nil,
@value=
[#<OpenSSL::ASN1::ASN1Data:0x814f690
@tag=0,
@tag_class=:CONTEXT_SPECIFIC,
@value=
[#<OpenSSL::ASN1::Integer:0x814f6a4
@tag=2,
@tag_class=:U......NIVERSAL,
@tagging=nil,
@value=2>]>,
...
@param der DER形式の文字列
@raise OpenSSL::ASN1::ASN1Error 解析に失敗した場合に発生します... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (127.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(min)
loop do......in[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(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "......puts err
end
=== 注意
timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby のスレッドが割り込めない処理に対して timeout は無力です。
そのようなものは実用レベルでは少ないのです... -
FileUtils
. # cp _ r(src , dest , options = {}) -> () (115.0) -
src を dest にコピーします。src がディレクトリであったら再帰的に コピーします。その際 dest がディレクトリなら dest/src にコピーします。
...dest/src にコピーします。
@param src コピー元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest コピー先のファイルかディレクトリです。
@param options :preserve, :noop, :verbo......tions
//emlist[][ruby]{
# installing ruby library "mylib" under the site_ruby
require 'fileutils'
FileUtils.rm_r(site_ruby + '/mylib', force: true)
FileUtils.cp_r('lib/', site_ruby + '/mylib')
# other sample
require 'fileutils'
FileUtils.cp_r(%w(mail.rb field.rb debug/), site_ruby + '/tmail')
FileU......tils.cp_r(Dir.glob('*.rb'), '/home/taro/lib/ruby',
noop: true, verbose: true)
//}... -
Abbrev
. # abbrev(words , pattern = nil) -> Hash (109.0) -
文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
...るものから短縮形を計算します。
@param words 元となる文字列の配列。
@param pattern Regexp か String を指定します。
@return 短縮形をキー、元の文字列を値とするハッシュを返します。
require 'abbrev'
# words に同じ文字列が含......(%w[ruby ruby]).sort
# => [["ruby", "ruby"]]
# 空白が含まれていても適切に処理します。
pp Abbrev.abbrev(['ru by']).sort
# => [["r", "ru by"],
# ["ru", "ru by"],
# ["ru ", "ru by"],
# ["ru b", "ru by"],
# ["ru by", "ru by"]]......# sort していない例
p %w[ruby rubyist].abbrev
#=> {"ruby" => "ruby",
# "rubyi" => "rubyist",
# "rubyis" => "rubyist",
# "rubyist" => "rubyist"}... -
Kernel
. # load(file , priv = false) -> true (99.0) -
Ruby プログラム file をロードして実行します。再ロード可能です。
...
Ruby プログラム file をロードして実行します。再ロード可能です。
file が絶対パスのときは file からロードします。
file が相対パスのときは組み込み変数 $:
に示されるパスとカレントディレクトリを順番に探し、最初に見......返します。
@param file ファイル名の文字列です。
@param priv 真のとき、ロード・実行は内部的に生成される
無名モジュールをトップレベルとして行われ、
グローバルな名前空間を汚染しません。
@raise LoadErro......ドに失敗した場合に発生します。
@see Kernel.#require
=== require と load の違い
Kernel.#require は同じファイルは一度だけしかロードしませんが、
Kernel.#load は無条件にロードします。
また、require は拡張子.rb や .so を自動的に補完...