ライブラリ
- win32ole (11)
クラス
- WIN32OLE (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - bigdecimal (11)
-
ruby 1
. 6 feature (11)
検索結果
-
WIN32OLE
:: ARGV -> [object] (18173.0) -
直前のメソッド呼び出しの引数を格納した配列です。
...ソッド引数は値のみを取るため、そのままでは呼び出し先が設定した
値を参照できません。このような場合、ARGVを参照することで呼び出し先の設
定値を参照できます。
以下のリストは、VBで開発したオブジェクトのメソ......B (OLE Automation server)
Public Sub Accm(ByVal Operator, ByRef Accumulator, ByVal Operand)
If Operator = "*" Then
Accmulator = Accmulator * Operand
Else If Operator = "+" Then
Accmulator = Accmulator + Operand
End If
End Sub
# Ruby
x = 10
obj.Accm '......って影響を受けない
p WIN32OLE::ARGV # => ['*', 110, 11] …… 結果はARGVの対応する引数に反映される
obj.Accm '+', 10, 11
p WIN32OLE::ARGV # => ['+', 21, 11]
直前のメソッド呼び出しが例外となった場合、ARGVの設定内容は呼び出し前の
状... -
ruby 1
. 6 feature (108.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...変更は元に戻りました。
p "#{ "" }"
=> ruby 1.6.7 (2002-03-01) [i586-linux]
""
=> -:1: warning: bad substitution in string
ruby 1.6.7 (2002-09-12) [i586-linux]
"#{ }"
=> ruby 1.6.7 (2002-09-25) [i586-linux]
""......ments(1 for 0) (ArgumentError)
from -:11:in `foo'
from -:14
ruby 1.6.5 (2001-10-05) [i586-linux]
: Subclass of String and Array
String, Array のサブクラスで特定のメソッドを呼ぶと、String, Array
になっていました。......t modify frozen object (TypeError)
from -:4
: ruby -T4
オプション ((<-T4|Rubyの起動/-T[level]>)) を指定したとき、ARGV を
変更できないためプログラムの実行ができませんでした。
((<ruby-dev:13401>))
touch foo
ruby-1.6.3 -v -T4 fo... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (66.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への変更点(まとめ)/サポートプラットフォームの追加>))
...(<ruby-talk:72732>))
ENV['environ'] = 'value'
ENV['environ'].sub!(/value/, 'VALUE')
p ENV['environ']
=> ruby 1.6.8 (2002-12-24) [i586-linux]
"value"
この例のように sub! のような破壊的メソッドの効果がないため混乱すると......いうのが理由です(ENVが返す文字列を変更しても環境変数自体に影響がない)。
=> -:2:in `sub!': can't modify frozen string (TypeError)
from -:2
ruby 1.8.0 (2003-06-09) [i586-linux]
=== Hash
: ((<Hash#update|Hash/update>)) [compat]......定になりました。ファイル名は ARGF.path で取得します。
=== ARGV
: ((<組み込み定数/ARGV>)) [change]
ARGV の各要素は freeze されるようになりました。
ruby -v -e 'p ARGV.collect {|v| v.frozen?}' a b c
=> ruby 1.6.8 (2002-12-24) [i586-linu... -
bigdecimal (30.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...分で指定できません。
精度をコントロールしたい場合は、以下のインスタンスメソッドを使用します。
: add, sub, mult, div
これらのメソッドは先頭 (最左) の数字からの桁数を指定できます。
//emlist[][ruby]{
require "bigdecimal"
p......6666 667e1
//}
==== 自分で精度をコントロールしたい場合
自分で精度(有効桁数)をコントロールしたい場合は add、sub、mult、div 等のメソッドが使用できます。
以下の円周率を計算するプログラム例のように、求める桁数は自分......= t.div(m57121,sig)
u = t.div(k,sig)
pi = pi + u
k = k + two
end
pi
end
if $0 == __FILE__
if ARGV.size == 1
puts "PI("+ARGV[0]+"):"
puts big_pi(ARGV[0].to_i)
else
puts "TRY: ruby pi.rb 1000"
end
end
//}
=== その他
以下のメソッド以外にも、(C...