クラス
-
Benchmark
:: Tms (11) - BigDecimal (11)
- Bignum (6)
- Complex (22)
- Enumerator (14)
-
Enumerator
:: Lazy (44) -
Fiddle
:: Function (22) - Fixnum (6)
- Float (49)
- Integer (48)
- OptionParser (132)
- Range (22)
- Rational (22)
- String (33)
- Time (36)
モジュール
- Benchmark (11)
- CMath (18)
- Enumerable (11)
- Kernel (33)
- Math (55)
キーワード
- % (11)
- ** (39)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Marshal フォーマット (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (8) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) - Numeric (11)
- RFLOAT (11)
- Rational (11)
- Ruby用語集 (11)
- acosh (11)
- asinh (11)
- at (36)
- bigdecimal (11)
-
bigdecimal
/ util (11) - bsearch (22)
- call (11)
- cos! (6)
- divmod (11)
-
enum
_ for (22) - fiddle (11)
- format (11)
- frexp (11)
- gamma (11)
- hypot (11)
- inspect (11)
- lazy (11)
- mathn (4)
- new (25)
- on (132)
-
parse
_ csv (11) - pow (22)
- realtime (11)
- round (20)
-
ruby 1
. 6 feature (11) - sin! (6)
- split (11)
- sprintf (11)
- sprintf フォーマット (11)
- tan! (6)
-
to
_ enum (22) -
to
_ f (22) -
to
_ s (11) - セキュリティモデル (11)
- 正規表現 (11)
検索結果
先頭5件
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (900.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...の変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0......とめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))
* ((<1.6.8から1.8.0への変更......Stat#rdev_major|File::Stat/rdev_major>)) [new]
: ((<File::Stat#rdev_minor|File::Stat/rdev_minor>)) [new]
追加
=== Float
: ((<Numeric#to_int|Numeric/to_int>)) [new]
: ((<Float#to_int|Numeric/to_int>)) [new]
追加。
=== Hash
: ((<Hash#merge|Hash/merge>)) [new]
: ((<Hash#merge!|Hash/merge... -
セキュリティモデル (234.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...$SAFE に関するルール
* プログラム開始時の$SAFEの値は0
* 各スレッドは作られた時点での親スレッドの$SAFEの値を引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の......作はレベル2でも行えません。
==== レベル 0
デフォルトのセーフレベルです。
===== 汚染されるオブジェクト
* IOや環境変数、コマンドライン引数(ARGV)から得られた文字列
$ ruby -e 'p ARGV[0].tainted?' hoge
true
環境変......たセーフレベルで実行される。
* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Fixnum, Bignum, Float,
Symbol, true, false, nil は汚染... -
Enumerator
:: Lazy # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (216.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...if n < 0
if block_given?
each do |*val|
n.times { yield *val }
end
else
to_enum(:repeat, n)
end
end
end
r = 1..10
p r.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r = 1..Float::INFINITY
p r.lazy.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
#... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (216.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...if n < 0
if block_given?
each do |*val|
n.times { yield *val }
end
else
to_enum(:repeat, n)
end
end
end
r = 1..10
p r.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r = 1..Float::INFINITY
p r.lazy.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
#... -
セキュリティモデル (162.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...$SAFE に関するルール
* プログラム開始時の$SAFEの値は0
* 各スレッドは作られた時点での親スレッドの$SAFEの値を引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の......作はレベル2でも行えません。
==== レベル 0
デフォルトのセーフレベルです。
===== 汚染されるオブジェクト
* IOや環境変数、コマンドライン引数(ARGV)から得られた文字列
$ ruby -e 'p ARGV[0].tainted?' hoge
true
環境変......たセーフレベルで実行される。
* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Fixnum, Bignum, Float,
Symbol, true, false, nil は汚染......いたセーフレベルで実行される。
* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染さ......ん。
セーフレベルが高くなるほど、行える操作は制限されます。
37415
$SAFE に関するルール
* プログラム開始時の$SAFEの値は0
* 各スレッド固有ではなくなったので必要に応じて ensure で戻す
//emlist{
$SAFE = 0
th = Th......read.new do
p $SAFE # => 0
$SAFE = 1
ensure
$SAFE = 0
end
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事もできる
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
//}
原則として、各セキュリティ... -
Integer
# to _ f -> Float (153.0) -
self を浮動小数点数(Float)に変換します。
...self を浮動小数点数(Float)に変換します。
self が Float の範囲に収まらない場合、Float::INFINITY を返します。
//emlist[][ruby]{
1.to_f # => 1.0
(Float::MAX.to_i * 2).to_f # => Infinity
(-Float::MAX.to_i * 2).to_f # => -Infinity
//}... -
String
# to _ f -> Float (147.0) -
文字列を 10 進数表現と解釈して、浮動小数点数 Float に変換します。
...文字列を 10 進数表現と解釈して、浮動小数点数 Float に変換します。
浮動小数点数とみなせなくなるところまでを変換対象とします。
途中に変換できないような文字列がある場合、それより先の文字列は無視されます。
/......=> 0.0
//}
変換後の Float が有限の値を取れないときは、Float::INFINITY を用います。
このとき、全ての警告を有効にすると、警告が表示されます。
//emlist[][ruby]{
#!ruby -W2
p ("10" * 1000).to_f # => Infinity
# warning: Float 10101010101010101010......... out of range
//}
なお、このメソッドとは逆に、数値を文字列に変換するには
Kernel.#sprintf, String#%, Integer#to_s
を使用します。
@see String#hex, String#oct, String#to_i,
Kernel.#Integer, Kernel.#Float... -
Kernel
. # format(format , *arg) -> String (144.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...超
える場合は幅の指定は無効になります。
幅として `*' を指定すると幅の値を引数から得ることになります。
//emlist[][ruby]{
p sprintf("%#05x", 10) #=> "0x00a"
p sprintf("%#0*x", 5, 10) #=> "0x00a"
//}
=== 精度
"." の後に続く数字列は精度......" foo"
p sprintf("%5.5s", "foobar") #=> "fooba"
//}
精度として `*' を指定すると精度の値を引数から得ることになります。
//emlist[][ruby]{
p sprintf("%.5s", "foobar") #=> "fooba"
p sprintf("%.*s", 5, "foobar") #=> "fooba"
//}
=== 指示子
指示子は引数の......ただし、Float::INFINITY、Float::NAN はそれぞれ 'Inf'、'NaN' になります。詳しくは 40650 を参照してください。
//emlist[][ruby]{
p sprintf("%a", -0.0) # => "-0x0p+0"
p sprintf("%a", 729.0/10) # => "0x1.239999999999ap+6"
p sprintf("%a", Float::INFINITY)... -
Kernel
. # sprintf(format , *arg) -> String (144.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...超
える場合は幅の指定は無効になります。
幅として `*' を指定すると幅の値を引数から得ることになります。
//emlist[][ruby]{
p sprintf("%#05x", 10) #=> "0x00a"
p sprintf("%#0*x", 5, 10) #=> "0x00a"
//}
=== 精度
"." の後に続く数字列は精度......" foo"
p sprintf("%5.5s", "foobar") #=> "fooba"
//}
精度として `*' を指定すると精度の値を引数から得ることになります。
//emlist[][ruby]{
p sprintf("%.5s", "foobar") #=> "fooba"
p sprintf("%.*s", 5, "foobar") #=> "fooba"
//}
=== 指示子
指示子は引数の......ただし、Float::INFINITY、Float::NAN はそれぞれ 'Inf'、'NaN' になります。詳しくは 40650 を参照してください。
//emlist[][ruby]{
p sprintf("%a", -0.0) # => "-0x0p+0"
p sprintf("%a", 729.0/10) # => "0x1.239999999999ap+6"
p sprintf("%a", Float::INFINITY)... -
Math
. # hypot(x , y) -> Float (133.0) -
sqrt(x*x + y*y) を返します。
...sqrt(x*x + y*y) を返します。
この値は x, y を直交する 2 辺とする直角三角形の斜辺(hypotenuse)の長さです。
@param x 実数
@param y 実数
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
@raise RangeError 引数... -
Integer
# round(ndigits = 0 , half: :up) -> Integer | Float (125.0) -
self ともっとも近い整数を返します。
...。
@param ndigits 10進数での小数点以下の有効桁数を整数で指定します。
正の整数を指定した場合、Float を返します。
小数点以下を、最大 n 桁にします。
負の整数を指定した場合、Integer を返......方を指定します。
サポートされている値は以下の通りです。
* :up or nil: 0から遠い方に丸められます。
* :even: もっとも近い偶数に丸められます。
* :down: 0に近い方に丸められます。
//emlist[][ruby]{
1.round # => 1
1.ro...