キーワード
- bigdecimal (11)
-
drb
/ extservm (11) - irb (11)
-
irb
/ xmp (11) - mathn (4)
-
minitest
/ autorun (11) -
minitest
/ unit (1) - mkmf (11)
- open-uri (6)
-
rubygems
/ commands / lock _ command (11) -
rubygems
/ custom _ require (11) - tracer (11)
- ubygems (4)
-
webrick
/ https (11) -
webrick
/ httpservlet (11)
検索結果
-
rubygems
/ custom _ require (6033.0) -
Kernel#require を再定義するためのライブラリです。
...Kernel#require を再定義するためのライブラリです。
Ruby1.9 以前で使用しています。... -
bigdecimal (139.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456789e6
//}
一......0.0001 を 10000 回足す場合。(BigDecimal)][ruby]{
require 'bigdecimal'
sum = BigDecimal("0")
for i in (1..10000)
sum = sum + BigDecimal("0.0001")
end
print sum # => 0.1e1
//}
//emlist[例3: 1.2 - 1.0 と 0.2 との比較][ruby]{
require "bigdecimal"
(BigDecimal("1.2") - BigDecimal("1.0"))......場合があります。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.0") / BigDecimal("0.0") #=> Infinity
BigDecimal("-1.0") / BigDecimal("0.0") #=> -Infinity
//}
無限大を表す BigDecimal オブジェクトを作成する場合、
Kernel.#BigDecimal の引数に "Infinity" や "-In... -
minitest
/ unit (61.0) -
ユニットテストを行うためのライブラリです。
...行された後には teardown メソッドが必ず実行されます。
minitest/unit を Kernel.#require しただけではテストが自動実行されません。
require 'minitest/unit'
require 'foo'
MiniTest::Unit.autorun
class TestFoo < MiniTest::Unit::TestCase
def setup......o.bar
end
end
または MiniTest::Unit.autorun を省略して以下のように書くこともできます。
require 'minitest/unit'
require 'minitest/autorun'
require 'foo'
# 以下略
テストを実行するには上で用意した test_foo.rb を実行します。
デフォル......メソッドの指定に正規表現も使えます。
=== いつテストは実行されるか
上述のとおり、MiniTest::Unit.autorun や require 'minitest/autorun' をテストコードに
明示的に書かなかった場合は、単にそのテストファイルを実行しても何も起... -
webrick
/ httpservlet (57.0) -
このファイルを Kernel.#require すると、 WEBrick::HTTPServlet::FileHandler に対して 拡張子 .cgi と .rhtml のためのハンドラを設定します。
...このファイルを Kernel.#require すると、
WEBrick::HTTPServlet::FileHandler に対して
拡張子 .cgi と .rhtml のためのハンドラを設定します。
webrick や webrick/httpserver を Kernel.#require すると
このライブラリも一緒に Kernel.#require されます。... -
irb (55.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...-d $DEBUG を true にする (ruby -d と同じ)
-w ruby -w と同じ
-W[level=2] ruby -W と同じ
-r library ruby -r と同じ
-I ruby -I と同じ
-U ruby -U と同じ
-E enc ruby -E と同じ
--ve......f[:PROMPT_MODE] = :MY_PROMPT
PROMPT_I, PROMPT_S, PROMPT_C にはフォーマット文字列を指定します。
フォーマット文字列では Kernel.#printf のように
「%」を用いた記法が使えます。
フォーマット文字列で使用可能な記法は以下の通りです。......動
irb#1(main):001:0> x # x を表示
NameError: undefined local variable or method `x' for main:Object
from (irb#1):1:in `Kernel#binding'
起動時のインタプリタでローカル変数 x を定義しましたが、
「irb」でサブ irb を起動すると、
ローカ... -
open-uri (47.0)
-
http/ftp に簡単にアクセスするためのクラスです。 Kernel.#open を再定義します。
...http/ftp に簡単にアクセスするためのクラスです。
Kernel.#open を再定義します。
=== 使用例
http/ftp の URL を、普通のファイルのように開けます。
require 'open-uri'
open("http://www.ruby-lang.org/") {|f|
f.each_line {|line| p line}
}
開い......たファイルオブジェクトは StringIO もしくは Tempfile で
すが OpenURI::Meta モジュールで拡張されていて、メタ情報を獲得する
メソッドが使えます。
require 'open-uri'
open("http://www.ruby-lang.org/en") {|f|
f.each_line {|line| p line}
p f.b......f.last_modified # Thu Dec 05 02:45:02 UTC 2002
}
ハッシュ引数で、追加のヘッダフィールドを指定できます。
require 'open-uri'
open("http://www.ruby-lang.org/en/",
"User-Agent" => "Ruby/#{RUBY_VERSION}",
"From" => "foo@bar.invalid",
"Referer" => "http://... -
drb
/ extservm (43.0) -
DRb::ExtServManager を定義しているライブラリ。
...て
server.rb:
require 'drb/drb'
require 'drb/extservm'
Dir.chdir(File.dirname(__FILE__))
# サービスを起動するコマンドを指定する
# コマンドは文字列配列、もしくは文字列で指定できる
# サブプロセスの起動は Kernel.#spawn でなさ......nager.new
DRb.start_service("druby://localhost:10234", s)
# drb のプロセスの終了を待つ
DRb.thread.join
service.rb:
require 'drb/drb'
require 'drb/extserv'
# サービスを表すクラス
class Service
include DRb::DRbUndumped
def initialize(service_name)......p_service で止めると、サーバスレッドが
# 終了するため、以下の行が実行される
puts "Stop #{ARGV[0]}"
client.rb:
require 'drb/drb'
DRb.start_service
s = DRbObject.new_with_uri("druby://localhost:10234")
# No1 と名付けられたサービスを呼び... -
irb
/ xmp (37.0) -
Ruby のソースコードとその実行結果を、行ごとに交互に表示するためのライブ ラリです。irb を実行しなくても、使用することが出来ます。
...るためには、Kernel#xmp と、XMP#puts を使った方
法があります。どちらの場合も XMP がコンテキスト情報を保持するため、
実行結果に差分はありません。(Binding を指定できるタイミングは違い
ます)
=== 関数(Kernel#xmp)を使って実......、以下のように Ruby のソースコードを文字列として渡
す事で実行結果を標準出力に表示します。
$ cat t.rb
require "irb/xmp"
xmp <<END
foo = 1
foo
END
$ ruby t.rb
foo = 1
==>1
foo
==>1
=== XMP インスタンス(XMP#puts)を使って......、以下のように Ruby のソースコードを文字列として渡す
事で実行結果を標準出力に表示します。
$ cat t.rb
require "irb/xmp"
xmp = XMP.new
xmp.puts <<END
foo = 1
foo
END
xmp.puts <<END
foo
END
$ ruby t.rb
foo = 1
==>1
foo
==>1... -
mathn (37.0)
-
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
...商(.quo)を返すようになる、ということを意味します。
例:
1/2 #=> 0
2 * Rational(1,2) #=> Rational(1,1)
require 'mathn'
1/2 #=> Rational(1,2)
2 * Rational(1,2) #=> 1
==== 実数と複素数の相互変換
同様にして Complex の......0)
Math.sqrt(-1) #=> NaN
require 'mathn'
Complex(0,-1)**2 #=> -1
Math.sqrt(-1) #=> Complex(0,1)
=== 使用上の注意
なお、この挙動は、グローバルに影響を与えます。
つまり、(Ruby で書かれた)汎用ライブラリを require していた場合、
ライ......。
他人の書いたライブラリを使う時は、ご注意下さい
逆に、汎用ライブラリの作者の方々は、この mathn が require
される可能性を留意して書いて下されば親切だと思います。
整数同士で整除を意図するならば / メソッド で... -
pp (37.0)
-
オブジェクトなどを見やすく出力するためのライブラリです。
...リです。
このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあた......い表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。
=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @stack=[], @genspace=#<Proc:0x81a0cc0>, @nest=[0......int::Text:0x81a0af4 @tail=0, @width=1, @text="]">], @singleli
ne_width=6>], @singleline_width=6>, @sharing_detection=false>
pp による pretty-print された出力:
#<PP:0x40d0688
@buf=
#<PrettyPrint::Group:0x40d064c
@buf=
[#<PrettyPrint::Group:0x40d05d4
@buf=... -
tracer (37.0)
-
実行トレース出力をとる機能を提供します。
...つは以下のようにコマンドラインから Kernel.#require する方法です。
hoge.rb の実行をすべてトレース出力します。
ruby -rtracer hoge.rb
もうひとつはソースからrequireする方法です。
require 'tracer'
とした後
Tracer.on
によりト......中でHogeクラスのメソッドが呼び出される時、トレースする。
# ruby 1.8 では警告がでますが、動作します。
require 'tracer'
class Hoge
def Hoge.fuga(i)
"fuga #{i}"
end
end
Tracer.add_filter {|event, file, line, id, binding, klass|
ev... -
minitest
/ autorun (33.0) -
このファイルを Kernel.#require するとテストが test/unit と同じように自動実行されます。
...このファイルを Kernel.#require するとテストが test/unit と同じように自動実行されます。...