別のキーワード
ライブラリ
- ビルトイン (104)
- abbrev (12)
- base64 (36)
- benchmark (60)
- bigdecimal (48)
-
bigdecimal
/ ludcmp (12) -
bigdecimal
/ math (72) - cmath (78)
- digest (12)
- erb (60)
- etc (84)
- fiddle (36)
- fileutils (384)
- find (24)
- json (132)
- kconv (12)
- objspace (36)
- open-uri (16)
- open3 (168)
- openssl (12)
- pp (4)
- readline (12)
- shellwords (48)
- syslog (252)
- timeout (21)
-
webrick
/ htmlutils (12) -
webrick
/ httpauth (12) -
webrick
/ httpstatus (12) -
webrick
/ httputils (24) -
webrick
/ utils (24) -
win32
/ resolv (24)
クラス
-
Win32
:: Resolv (24)
モジュール
- Abbrev (12)
- Base64 (36)
- Benchmark (60)
- BigMath (96)
- CMath (78)
- Digest (12)
-
ERB
:: DefMethod (12) -
ERB
:: Util (48) - Etc (84)
- Fiddle (36)
- FileTest (48)
- FileUtils (384)
- Find (24)
- JSON (132)
- Kconv (12)
- Kernel (100)
- LUSolve (12)
- ObjectSpace (36)
- Open3 (168)
-
OpenSSL
:: ASN1 (12) - Readline (12)
- Shellwords (48)
- Syslog (228)
-
Syslog
:: Macros (24) - Timeout (21)
-
WEBrick
:: HTMLUtils (12) -
WEBrick
:: HTTPAuth (12) -
WEBrick
:: HTTPStatus (12) -
WEBrick
:: HTTPUtils (24) -
WEBrick
:: Utils (24)
キーワード
- BigDecimal (24)
- E (12)
-
LOG
_ MASK (12) -
LOG
_ UPTO (12) - PI (12)
- abbrev (12)
- alert (12)
-
allocation
_ sourcefile (12) -
allocation
_ sourceline (12) - atan (12)
- autoload (12)
-
basic
_ auth (12) - benchmark (12)
- bm (12)
- bmbm (12)
- capture2 (12)
- capture2e (12)
- capture3 (12)
- cbrt (6)
- cbrt! (6)
- cd (24)
- chdir (24)
- chmod (12)
-
chmod
_ R (12) - chown (12)
-
chown
_ R (12) - close (12)
- cmp (12)
-
compare
_ file (12) - confstr (12)
- copy (12)
- cos (12)
- cos! (6)
- cp (12)
-
cp
_ r (12) - crit (12)
- debug (12)
- decode (12)
- decode64 (12)
-
def
_ erb _ method (12) - dlunwrap (12)
- dlwrap (12)
- dump (12)
- emerg (12)
- encode64 (12)
- err (12)
- escape (12)
- exp (18)
- exp! (6)
- facility (12)
-
fast
_ generate (12) -
fast
_ unparse (12) - find (24)
- free (12)
- generate (12)
-
get
_ hosts _ path (12) -
get
_ resolv _ info (12) - getlogin (12)
- getservername (12)
- h (12)
- hexencode (12)
-
html
_ escape (12) - ident (12)
- identical? (12)
- info (12)
- install (12)
- isjis (12)
- link (12)
- ln (12)
-
ln
_ s (12) - load (24)
-
load
_ mime _ types (12) - log (36)
- log! (12)
- lusolve (12)
- makedirs (12)
- mask (12)
- measure (12)
-
memsize
_ of (12) -
mime
_ type (12) - mkdir (12)
-
mkdir
_ p (12) - mkpath (12)
- move (12)
- mv (12)
- notice (12)
- nprocessors (12)
- open (40)
- open! (12)
- opened? (12)
- parse (12)
- parse! (12)
- pipeline (12)
-
pipeline
_ r (24) -
pipeline
_ rw (24) -
pipeline
_ start (24) -
pipeline
_ w (24) - popen3 (24)
- pp (12)
-
pretty
_ generate (12) -
pretty
_ unparse (12) -
random
_ string (12) - readline (12)
- realtime (12)
-
reason
_ phrase (12) - remove (12)
-
remove
_ entry (12) - reopen (12)
-
require
_ relative (12) - restore (12)
- rm (12)
-
rm
_ r (12) - rmdir (12)
- setgid? (12)
- setuid? (12)
- shellescape (12)
- shelljoin (12)
- shellsplit (12)
- shellwords (12)
- sin (12)
- sin! (6)
- socket? (12)
- sqrt (18)
- sqrt! (6)
- sticky? (12)
- symlink (12)
- sysconf (12)
- sysconfdir (12)
- systmpdir (12)
- tan! (6)
- timeout (21)
- touch (12)
- u (12)
- uname (12)
- unparse (12)
- uptodate? (12)
-
url
_ encode (12) -
urlsafe
_ encode64 (12) - warning (12)
検索結果
先頭5件
-
Kernel
. # require(feature) -> bool (18226.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
...(/prime/).size # => 0
require "prime" # => true
$LOADED_FEATURES.grep(/prime/).size # => 1
require "prime" # => false
begin
require "invalid"
rescue LoadError => e
e.message # => "cannot load such file -- invalid"
end
//}
@see Kernel.#load,Kernel.#autoload,Kernel.#require_relative... -
Kernel
. # require _ relative(relative _ feature) -> bool (6254.0) -
現在のファイルからの相対パスで require します。
...現在のファイルからの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param r......elative_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)
//}... -
Etc
. # uname -> {Symbol => String} (213.0) -
uname(2) で取得したシステム情報を Hash で返します。
...achine の
5 つのキーを持つ Hash を返します。
//emlist[例][ruby]{
require 'etc'
require 'pp'
pp Etc.uname
# => {:sysname=>"Linux",
# :nodename=>"boron",
# :release=>"2.6.18-6-xen-686",
# :version=>"#1 SMP Thu Nov 5 19:54:42 UTC 2009",
# :machine=>"i686"}
//}... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (149.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
...:
require "readline"
input = Readline.readline
(プロンプトなどは表示せずに、入力待ちの状態になります。
ここでは「abc」を入力後、エンターキーを押したと想定します。)
abc
p input # => "abc"
input = Readline.readline("> ")
(">"......)
> ls
p input # => "ls"
input = Readline.readline("> ", true)
(">"を表示し、入力待ちの状態になります。
ここでは「cd」を入力後、エンターキーを押したと想定します。)
> cd
p input # => "cd"
input = Readline.readline("> ", true)
(">"......押すと、
先ほど入力した「cd」が表示されます。
そして、エンターキーを押したと想定します。)
> cd
p input # => "cd"
本メソッドには注意事項があります。
入力待ちの状態で ^C すると ruby インタプリタが終了し、端... -
Benchmark
. # bm(label _ width = 0 , *labels) {|rep| . . . } -> [Benchmark :: Tms] (131.0) -
Benchmark.#benchmark メソッドの引数を簡略化したものです。
...を返す場合に指定します。
//emlist[][ruby]{
require 'benchmark'
n = 50000
Benchmark.bm do |x|
x.report { for i in 1..n; a = "1"; end }
x.report { n.times do ; a = "1"; end }
x.report { 1.upto(n) do ; a = "1"; end }
end
#=>
#
# user system total real
# 1.0333......も書けます。
//emlist[][ruby]{
require 'benchmark'
n = 50000
Benchmark.bm(7) do |x|
x.report("for:") { for i in 1..n; a = "1"; end }
x.report("times:") { n.times do ; a = "1"; end }
x.report("upto:") { 1.upto(n) do ; a = "1"; end }
end
#=>
# user system tota......y]{
require 'benchmark'
n = 50000
Benchmark.bm(7, ">total:", ">avg:") do |x|
tf = x.report("for:") { for i in 1..n; a = "1"; end }
tt = x.report("times:") { n.times do ; a = "1"; end }
tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end }
[tf + tt + tu, (tf + tt + tu) / 3]
end
#=>
#... -
Kernel
. # load(file , priv = false) -> true (131.0) -
Ruby プログラム file をロードして実行します。再ロード可能です。
...rnel.#require
=== require と load の違い
Kernel.#require は同じファイルは一度だけしかロードしませんが、
Kernel.#load は無条件にロードします。
また、require は拡張子.rb や .so を自動的に補完しますが、
load は行いません。
require は... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (131.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
例 長い計算のタイムアウト
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 =.......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 "MYError"
pu......例 timeout が割り込めない
require 'timeout'
require 'socket'
t = 0.1
start = Time.now
begin
Timeout.timeout(t) {
p TCPSocket.gethostbyname("www.ruby-lang.org")
# (A)
}
ensure
p Time.now - start
end
# 実行例
=> ["helium.ruby-lang.org", [], 2, "2......ッセージを指定します.省略した場合は
"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 =... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (131.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...ッセージを指定します.省略した場合は
"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 =.......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 "MYError"
pu......例 timeout が割り込めない
require 'timeout'
require 'socket'
t = 0.1
start = Time.now
begin
Timeout.timeout(t) {
p TCPSocket.gethostbyname("www.ruby-lang.org")
# (A)
}
ensure
p Time.now - start
end
# 実行例
=> ["helium.ruby-lang.org", [], 2, "2... -
Kernel
. # autoload(const _ name , feature) -> nil (129.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
...定数 const_name を最初に参照した時に feature を
Kernel.#require するように設定します。
const_name には、 "::" 演算子を含めることはできません。
ネストした定数を指定する方法は Module#autoload を参照してください。
const_name が aut......am feature require と同様な方法で autoload する対象を指定します。
@raise LoadError featureのロードに失敗すると発生します。
//emlist[][ruby]{
# ------- /tmp/foo.rb ---------
class Bar
end
# ----- end of /tmp/foo.rb ----
autoload :Bar, '/tmp/foo'
p Bar #=> Bar
//}......@see Kernel.#autoload?,Module#autoload,Kernel.#require...