種類
- 文書 (49)
- インスタンスメソッド (22)
- モジュール関数 (22)
- クラス (11)
ライブラリ
- ビルトイン (55)
モジュール
- Kernel (22)
キーワード
- =~ (11)
- Marshal フォーマット (11)
-
NEWS for Ruby 2
. 7 . 0 (5) - Numeric (11)
- format (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - sprintf (11)
- sprintf フォーマット (11)
検索結果
先頭5件
-
String
# %(args) -> String (18256.0) -
printf と同じ規則に従って args をフォーマットします。
...ist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10 # => "i = 12"
p "i = %#d" % 10 # => "i = 10"
p "i = %#x" % 10 # => "i = 0xa"
p "i = %#o" % 10 # => "i = 012"
p "%d" % 10 # => "10"
p "%d,%o" % [10, 10] # => "10,12......* 整数を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッ......sprintf("%s", /e+/) #=> "(?-mix:e+)"
p sprintf("%p", /e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #... -
Regexp
# =~(string) -> Integer | nil (6213.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
...、あるいは string が nil の場合には nil を返
します。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文....../foo/ =~ "foo" # => 0
p Regexp.last_match(0) # => "foo"
p /foo/ =~ "afoo" # => 1
p $~[0] # => "foo"
p /foo/ =~ "bar" # => nil
unless /foo/ === "bar"
puts "not match " # => not match
end
str = []
begin
/ugo/ =~ str
rescue TypeError
printf "! %s\t%s\n", $!... -
ruby 1
. 6 feature (168.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6.7 (2002-07-30) [i586-linux]
: 2002-06-03 sprintf()
"%d" で引数を整数にするときに、((<組み込み関数/Integer>)) と同じ規則を
使用するようになりました。
p sprintf("%d", nil)
=> -:1:in `sprintf': no implicit conversion from nil......正しく埋め込めるようにするためです。
((<ruby-bugs-ja:PR#231>))
p Regexp.quote("#")
p /a#{Regexp.quote("#")}b/x =~ "ab"
=> -:3: warning: ambiguous first argument; make sure
ruby 1.6.7 (2002-03-01) [i586-linux]
"#"
0......になりました。
: 2002-04-26: Regexp.quote
((<ruby-bugs-ja:PR#231>))
p Regexp.quote("\t")
p /a#{Regexp.quote("\t")}b/x =~ "ab"
=> -:3: warning: ambiguous first argument; make sure
ruby 1.6.7 (2002-03-01) [i586-linux]
"\t"
0... -
Kernel
. # format(format , *arg) -> String (90.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...ないこと、2進数の指示子(%b, %B)が存在すること、sprintf のすべての方言をサ
ポートしていないこと(%': 3桁区切り)などの違いがあります。
Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
に負の数を与えると (左側に......* 整数を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッ......sprintf("%s", /e+/) #=> "(?-mix:e+)"
p sprintf("%p", /e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #... -
Kernel
. # sprintf(format , *arg) -> String (90.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...ないこと、2進数の指示子(%b, %B)が存在すること、sprintf のすべての方言をサ
ポートしていないこと(%': 3桁区切り)などの違いがあります。
Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
に負の数を与えると (左側に......* 整数を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッ......sprintf("%s", /e+/) #=> "(?-mix:e+)"
p sprintf("%p", /e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #... -
sprintf フォーマット (90.0)
-
sprintf フォーマット === sprintf フォーマット
...ないこと、2進数の指示子(%b, %B)が存在すること、sprintf のすべての方言をサ
ポートしていないこと(%': 3桁区切り)などの違いがあります。
Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
に負の数を与えると (左側に......* 整数を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッ......sprintf("%s", /e+/) #=> "(?-mix:e+)"
p sprintf("%p", /e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #... -
Numeric (88.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッ......るメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義......- o - -
| | - - o o - - -
~ | - - o o - - -
=== 丸めメソッドの動作一覧
Numeric#ceil, Numeric#......zero? | o - o - -
| | - o - - -
~ | - o - - -
=== 丸めメソッドの動作一覧
Numeric#ceil, Numeric#floor, Numeric#round,... -
NEWS for Ruby 2
. 7 . 0 (42.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
....produce(Date.today, &:succ) #=> infinite sequence of dates
dates.detect(&:tuesday?) #=> next Tuesday
//}
//emlist[Enumerator::Lazy#eager][ruby]{
a = %w(foo bar baz)
e = a.lazy.map {|x| x.upcase }.map {|x| x + "!" }.eager
p e.class #=> Enumerator
p e.map {|x| x + "?" } #=> ["FOO!?", "......エンコーディングを設定する
IO#set_encoding_by_bomメソッドが追加されました。 15210
* Integer
* 変更されたメソッド
* Integer#[] がRangeを受け付けるようになりました。 8842
//emlist[][ruby]{
0b01001101[2, 4] #=> 0b0011
0b01001100[......github.com/bundler/bundler/releases/tag/v2.1.2
* CGI
* CGI.escapeHTMLが少なくとも1個のエスケープされた文字があるときに2~5倍速くなりました。
https://github.com/ruby/ruby/pull/2226
* CSV
* 3.1.2に更新されました。
https://github.com/ru... -
ruby 1
. 8 . 4 feature (42.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...降の
バックトラックが効かなくなるバグの修正。((<ruby-list:41328>))
p(/^[a-z]+x[0-9]+$/ =~ "hogex111")
p(/^[\x61-\x7a]+x[0-9]+$/ =~ "hogex111")
# => ruby 1.8.3 (2005-09-21) [i686-linux]
0
nil
# => ruby 1.8.4 (2005-1......r_format): integer overflow check added.
#
# * sprintf.c (GETASTER): ditto.
printfのフォーマット指定子にinteger overflowのバグがありました。
perl のそれとは違い、セキュリティバグはないそうです。
((<URL:http://www.rubyist.net/~matz/20051......ux]
# ArgumentError
printf("%2147483648$d\n") # -e:1:in `printf': invalid index - -2147483648$ (ArgumentError)
printf("%2147483649$d\n") # -e:1:in `printf': invalid index - -2147483647$ (ArgumentError)
printf("%4294967296$d\n") # -e:1:in `printf': i... -
Marshal フォーマット (30.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...2
//emlist{
| len | n_1 | n_2 | n_3 | n_4 |
<-1-> <- len ->
byte bytes
//}
len の値は -4 〜 -1, 1 〜 4 で。符号と後続のデータが n1 〜 n_len
まであることを示します。
//emlist[][ruby]{
def foo(len, n1, n2 = 0, n3 = 0, n4 = 0)
case len......n = (0xffffff00 | n1) &
(0xffff00ff | n2 * 0x100) &
(0xff00ffff | n3 * 0x10000) &
(0x00ffffff | n4 * 0x1000000)
# p "%x" % n
n = -((n ^ 0xffff_ffff) + 1) if len < 0
n
end
p Marshal.dump(-125).unpack("x2 acC*") # => ["i", -1, 131]
p foo(-1, 131)......存はなくなりました。
=== Bignum
'l' で始まるデータ構造になります。
32ビット環境で内部的に Bignum になる Integer は
64ビット環境で Marshal.dump しても、この形式になります。
//emlist{
| 'l' | '+'/'-' | shortの個数(Fixnum形式) | ... |...