69件ヒット
[1-69件を表示]
(0.049秒)
別のキーワード
ライブラリ
-
bigdecimal
/ math (12) - cmath (24)
- open3 (12)
- timeout (21)
検索結果
先頭5件
-
BigMath
. # PI(prec) -> BigDecimal (18138.0) -
円周率を prec で指定した精度で計算します。
...指定された場合に発生します。
//emlist[][ruby]{
require "bigdecimal/math"
puts BigMath::PI(2) #=> 0.31415926535897932384671233672993238432e1
puts BigMath::PI(5) #=> 0.31415926535897932384627534923029509162e1
puts BigMath::PI(10) #=> 0.3141592653589793238462643388813853786957412e1
//... -
Open3
. # pipeline(*cmds) -> [Process :: Status] (6125.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。
...1:
require "open3"
fname = "/usr/share/man/man1/ruby.1.gz"
p Open3.pipeline(["zcat", fname], "nroff -man", "less")
#=> [#<Process::Status: pid 11817 exit 0>,
# #<Process::Status: pid 11820 exit 0>,
# #<Process::Status: pid 11828 exit 0>]
例2:
require "open3"
Open3.pipel... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (139.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...
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.timeout(t){
calc_pi(min)
}
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(5, MYError) {
sleep(30)
}
rescue MYErro......puts err
end
=== 注意
timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby のスレッドが割り込めない処理に対して timeout は無力です。
そのようなものは実用レベルでは少ないのです......cution 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.timeout(t){
calc_pi(min)......escue 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
Tim... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (139.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...cution 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.timeout(t){
calc_pi(min)......escue 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
Tim......puts err
end
=== 注意
timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby のスレッドが割り込めない処理に対して timeout は無力です。
そのようなものは実用レベルでは少ないのです... -
CMath
. # cos!(x) -> Float (37.0) -
実数 x の余弦関数の値を返します。Math.#cos のエイリアス です。
...に発生します。
@raise RangeError x に実数以外の数値を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.cos!(0 * Math::PI / 4) # => 1.0
CMath.cos!(1 * Math::PI / 4) # => 0.7071067811865476
CMath.cos!(4 * Math::PI / 4) # => -1.0
//}
@see Math.#cos... -
CMath
. # sin!(x) -> Float (37.0) -
実数 x の正弦関数の値を返します。Math.#sin のエイリアス です。
...に発生します。
@raise RangeError x に実数以外の数値を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.sin!(0 * Math::PI / 4) # => 0.0
CMath.sin!(1 * Math::PI / 4) # => 0.7071067811865475
CMath.sin!(2 * Math::PI / 4) # => 1.0
//}
@see Math.#sin... -
CMath
. # tan!(x) -> Float (37.0) -
実数 x の正接関数の値を返します。Math.#tan のエイリアス です。
...定した場合に発生します。
@raise RangeError x に実数以外の数値を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.tan!(0 * Math::PI / 4) # => 0.0
CMath.tan!(1 * Math::PI / 4) # => 1.0
CMath.tan!(4 * Math::PI / 4) # => 0.0
//}
@see Math.#tan... -
CMath
. # exp(z) -> Float | Complex (31.0) -
z の指数関数(Math::E の z 乗)の値を返します。
...@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.exp(Complex(0, 0))# => (1.0+0.0i)
CMath.exp(Complex(0, Math::PI)) # => (-1.0+1.2246063538223773e-16i)
CMath.exp(Complex(0, Math::PI / 2.0)) # => (6.123031769111886e-17+1.0i)
//}...