種類
- 文書 (53)
- インスタンスメソッド (11)
- クラス (11)
ライブラリ
- ビルトイン (11)
- bigdecimal (11)
クラス
- BigDecimal (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Lazy (11)
-
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 9 feature (11)
検索結果
先頭5件
-
BigDecimal
# split -> [Integer , String , Integer , Integer] (18129.0) -
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、 符号 (NaNのときは 0、それ以外は+1か-1になります)、 仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
...xxx*10**n と表現したときに、
符号 (NaNのときは 0、それ以外は+1か-1になります)、
仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
//emlist[][ruby]{
require "bigdecimal"
a = BigDecimal("3.14159265")
f, x, y, z = a.split
//}......とすると、f = 1、x = "314159265"、y = 10、z = 1 になります。
従って、以下のようにする事で Float に変換することができます。
//emlist[][ruby]{
s = "0."+x
b = f*(s.to_f)*(y**z)
//}
@see BigDecimal#to_f... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (108.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への変更点(まとめ)/サポートプラットフォームの追加>))
...だけでなく "\0" も strip するようになりました。((<ruby-talk:76659>))
: ((<String#scan|String/scan>)) [change]
: ((<String#split|String/split>)) [change]
: ((<String#sub|String/sub>)), ((<String#sub!|String/sub!>)) [change]
: ((<String#gsub|String/gsub>)), ((<String#gsub!|String/gsu......け付けないために、long の範囲の
数値を指定することができませんでした。((<ruby-talk:72257>))
syscall(1, 2**30)
=> -:1:in `syscall': wrong argument type Bignum (expected String) (TypeError)
from -:1
ruby 1.6.8 (2002-12-24)......nux]
true
true
: ((<String#split|String/split>)) [bug]
空文字列に対する split が空文字列を要素に持つ配列を返していました。
p "".split(//)
p "".split(//, 0)
p "".split(//, 1)
=> ruby 1.6.8 (2002-12-24) [i586-l... -
NEWS for Ruby 2
. 7 . 0 (54.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...**)を足すことで警告を回避できます。
このように書けばRuby 3でも同じ意味で動きます。
//emlist[][ruby]{
def foo(key: 42); end; foo({key: 42}) # warned
def foo(**kw); end; foo({key: 42}) # warned
def foo(key: 42); end; foo(**{key: 42}) # OK
def foo(**kw)......; end; foo(**{key: 42}) # OK
//}
* キーワード引数を受け取るメソッドにキーワード引数を渡すが、必須引数
が不足している場合に、キーワード引数は最後の必須引数として解釈され、
警告が表示されます。警告を回避す......re(sales: ..100)
//}
* 「$;」にnil以外の値を設定すると警告が出るようになりました。 14240
nil以外の時はString#splitで参照した時も警告が出ます。
この警告は「-W:no-deprecated」オプションで止められます。
* 「$,」にnil以... -
ruby 1
. 6 feature (24.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...-05 String#split
最初の引数に nil を指定できるようになりました。((<ruby-talk:43513>))
この場合、$; を分割文字列として使用します。以前までは $; が有効にな
るのは引数省略時だけでした。
$; = ":"
p "a:b:c".split(nil)
=......2
: String#succ
((<ruby-talk:22557>))
p "***".succ
p "*".succ
p sprintf("%c", 255).succ
p sprintf("*%c", 255).succ
p sprintf("**%c", 255).succ
=> ruby 1.6.5 (2001-09-19) [i586-linux]
"**+"
"\001+"
"\001\000"......"\001+\000"
"*+\000"
=> ruby 1.6.5 (2001-11-01) [i586-linux]
"**+"
"+"
"\001\000"
"+\000"
"*+\000"
: method_missing
以下が Segmentation Fault していました。((<ruby-dev:14942>))
Module.constants.each... -
Enumerator
:: Lazy (18.0) -
map や select などのメソッドの遅延評価版を提供するためのクラス。
...びます。
//emlist[例][ruby]{
# 二乗して偶数になるような整数を、小さい方から5個表示する
p 1.step.lazy.select{|n| (n**2).even?}.first(5)
# LTSV (http://ltsv.org/) 形式のログファイルから検索を行う
# Enumerator::Lazy#map は配列ではなく Enumerator......、
# 巨大な配列を確保しようとしてメモリを使い切ったりはしない
open("log.txt"){|f|
f.each_line.lazy.map{|line|
Hash[line.split(/\t/).map{|s| s.split(/:/, 2)}]
}.select{|hash|
hash["req"] =~ /GET/ && hash["status"] == "200"
}.each{|hash|
p hash
}
}
//}... -
NEWS for Ruby 3
. 0 . 0 (18.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...osplatting. This now matches the behavior of Procs
accepting a single rest argument and no keywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 =>......* Array#flatten
* Array#slice!
* Array#slice / Array#[]
* Array#take
* Array#take_while
* Array#uniq
* Array#*
* Can be sliced with Enumerator::ArithmeticSequence
//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_data[(1..).......ng#rjust
* String#rpartition
* String#rstrip
* String#scrub
* String#slice!
* String#slice / String#[]
* String#split
* String#squeeze
* String#strip
* String#sub
* String#succ / String#next
* String#swapcase
* String#tr
*... -
ruby 1
. 9 feature (18.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...[obsolete]
: gsub! [obsolete]
: chop [obsolete]
: chop! [obsolete]
: chomp [obsolete]
: chomp! [obsolete]
: split [obsolete]
: scan [obsolete]
削除
=== 2005-10-21
: funcall [new]
fcall から改名
: Module#instance_exec [new]......くことができるようになりました。
=== 2004-03-12
: File.fnmatch [change]
File::FNM_PATHNAME がセットされている場合、**/ が */ の繰り返しとして働くようになりました。
((<ruby-dev:22901>))
: File.fnmatch, Dir.glob [change]
Windows, DJGPP, EMX で......な数を与えた場合 RangeError を
投げなくなりました。((<ruby-dev:22654>))
$ ruby -e 'p [2**32].pack("i")'
"\000\000\000\000"
$ ruby -e 'p [2**32].pack("U")'
-e:1:in `pack': bignum too big to convert into `long' (RangeError)
from -e:1
=== 2004-... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...ンの入力 -AAA
コマンドラインオプション
===[a:ast] *
: 2 * 3
かけ算。または類似の演算を行うメソッド。
: 2**3
累乗。または類似の演算を行うメソッド。
: def xxx(*yy) ・・ *がついた引数
メソッド呼出の引数展開。spec/cal....../regexp を参照。
===[a:slash] /
: 10 / 3
割り算、または類似のメソッド。
: /xxx/
d:spec/literal#regexp。
: '1二三四5'.split(//)
// は空の正規表現を意味する
===[a:hat] ^
: true ^ true
「xor」演算子。排他的論理和。または類似のメソ......a += 12 , a *= 12 , a ||= 12 など・・a 二項演算子 = b
自己代入演算子。d:spec/operator#selfassignを参照。
//emlist{
a = 7
a **= 2
p a #=> 49
//}
: def xx=
この場合の「=」はメソッド名の一部分です。このタイプの名前のメソッドを定義す...