Returns the arc sine of z
CMath.asin(1 + 1i) #=> (0.6662394324925153+1.0612750619050355i)
returns the inverse hyperbolic sine of z
CMath.asinh(1 + 1i) #=> (1.0612750619050357+0.6662394324925153i)
Returns the sine of z
, where z
is given in radians
CMath.sin(1 + 1i) #=> (1.2984575814159773+0.6349639147847361i)
Returns the hyperbolic sine of z
, where z
is given in radians
CMath.sinh(1 + 1i) #=> (0.6349639147847361+1.2984575814159773i)
Returns the arc sine of z
CMath.asin(1 + 1i) #=> (0.6662394324925153+1.0612750619050355i)
returns the inverse hyperbolic sine of z
CMath.asinh(1 + 1i) #=> (1.0612750619050357+0.6662394324925153i)
If src
is not same as dest
, copies it and changes the permission mode to mode
. If dest
is a directory, destination is dest
/src
. This method removes destination before copy.
FileUtils.install 'ruby', '/usr/local/bin/ruby', :mode => 0755, :verbose => true FileUtils.install 'lib.rb', '/usr/local/lib/ruby/site_ruby', :verbose => true
If src
is not same as dest
, copies it and changes the permission mode to mode
. If dest
is a directory, destination is dest
/src
. This method removes destination before copy.
FileUtils.install 'ruby', '/usr/local/bin/ruby', :mode => 0755, :verbose => true FileUtils.install 'lib.rb', '/usr/local/lib/ruby/site_ruby', :verbose => true
Returns an Array of method names which have any options.
p FileUtils.commands #=> ["chmod", "cp", "cp_r", "install", ...]
Calls the associated block with the name of every file and directory listed as arguments, then recursively on their subdirectories, and so on.
Returns an enumerator if no block is given.
See the Find
module documentation for an example.
Calls the associated block with the name of every file and directory listed as arguments, then recursively on their subdirectories, and so on.
Returns an enumerator if no block is given.
See the Find
module documentation for an example.
Computes the sine of x
(expressed in radians). Returns a Float
in the range -1.0..1.0.
Domain: (-INFINITY, INFINITY)
Codomain: [-1, 1]
Math.sin(Math::PI/2) #=> 1.0
Computes the arc sine of x
. Returns -PI/2..PI/2.
Domain: [-1, -1]
Codomain: [-PI/2, PI/2]
Math.asin(1) == Math::PI/2 #=> true
Computes the hyperbolic sine of x
(expressed in radians).
Domain: (-INFINITY, INFINITY)
Codomain: (-INFINITY, INFINITY)
Math.sinh(0) #=> 0.0
Computes the inverse hyperbolic sine of x
.
Domain: (-INFINITY, INFINITY)
Codomain: (-INFINITY, INFINITY)
Math.asinh(1) #=> 0.881373587019543
Calculates the gamma function of x.
Note that gamma(n) is same as fact(n-1) for integer n > 0. However gamma(n) returns float and can be an approximation.
def fact(n) (1..n).inject(1) {|r,i| r*i } end 1.upto(26) {|i| p [i, Math.gamma(i), fact(i-1)] } #=> [1, 1.0, 1] # [2, 1.0, 1] # [3, 2.0, 2] # [4, 6.0, 6] # [5, 24.0, 24] # [6, 120.0, 120] # [7, 720.0, 720] # [8, 5040.0, 5040] # [9, 40320.0, 40320] # [10, 362880.0, 362880] # [11, 3628800.0, 3628800] # [12, 39916800.0, 39916800] # [13, 479001600.0, 479001600] # [14, 6227020800.0, 6227020800] # [15, 87178291200.0, 87178291200] # [16, 1307674368000.0, 1307674368000] # [17, 20922789888000.0, 20922789888000] # [18, 355687428096000.0, 355687428096000] # [19, 6.402373705728e+15, 6402373705728000] # [20, 1.21645100408832e+17, 121645100408832000] # [21, 2.43290200817664e+18, 2432902008176640000] # [22, 5.109094217170944e+19, 51090942171709440000] # [23, 1.1240007277776077e+21, 1124000727777607680000] # [24, 2.5852016738885062e+22, 25852016738884976640000] # [25, 6.204484017332391e+23, 620448401733239439360000] # [26, 1.5511210043330954e+25, 15511210043330985984000000]
Calculates the logarithmic gamma of x
and the sign of gamma of x
.
Math.lgamma(x)
is same as
[Math.log(Math.gamma(x).abs), Math.gamma(x) < 0 ? -1 : 1]
but avoid overflow by Math.gamma(x)
for large x.
Math.lgamma(0) #=> [Infinity, 1]
URI::join(str[, str, ...])
str
String(s) to work with, will be converted to RFC3986 URIs before merging.
Joins URIs.
require 'uri' p URI.join("http://example.com/","main.rbx") # => #<URI::HTTP:0x2022ac02 URL:http://example.com/main.rbx> p URI.join('http://example.com', 'foo') # => #<URI::HTTP:0x01ab80a0 URL:http://example.com/foo> p URI.join('http://example.com', '/foo', '/bar') # => #<URI::HTTP:0x01aaf0b0 URL:http://example.com/bar> p URI.join('http://example.com', '/foo', 'bar') # => #<URI::HTTP:0x801a92af0 URL:http://example.com/bar> p URI.join('http://example.com', '/foo/', 'bar') # => #<URI::HTTP:0x80135a3a0 URL:http://example.com/foo/bar>