ruby

ensure句におけるreturnの問題

前回エントリーした「finally句におけるreturnの問題」についてrubyの場合はどうなるのか検証してみました。javaにおけるtry-catch-finallyは、rubyでのbegin-rescure-ensureと同じだと思っています。 def method puts "3: method start" begin raise Except…

デフォルトコンストラクタ自動生成の謎

半年位前に経験したバグなのですが、突然あるクラスのデフォルトコンストラクタが見つかりませんという内容のExceptionが発生しました。 原因は他プロジェクトのjarに梱包された型をデフォルトコンストラクタでインスタンス化していたのですが、このjar側の…

SAXパーサ作成時のバグ

以前作成したJavaのSAX方式(ストリーム読込)のXMLパーサのトラブルメモ。 長いXMLを読むだけであればメモリパフォーマンスを考慮してSAXパーサを使用しますが、ちょっと意識していないとバグ埋め込んでしまうかも知れません。 サンプルコード public class P…

浮動小数の誤差

2進計算による浮動小数の誤差について意識なく平気で演算したり比較するケースをよく見かけます。 大抵はあまり問題は発生しないのですが、特殊なケースで予想と反する結果となります。色々と試してみました。 Ruby(irb)の場合 irb(main):001:0> 1-0.9 == 1/…