[#9644] Determinant Problem in Matrix.rb — <noreply@...>
Bugs item #7001, was opened at 2006-12-01 03:50
This is 100% intended. You have to learn integer arithmetics when you
[#9654] Float numbers comparison — "Paulo Soeiro" <pcsoeiro@...>
Hi,
On 12/1/06, Paulo Soeiro <pcsoeiro@gmail.com> wrote:
[#9661] Dir.exist? — Kornelius Kalnbach <murphy@...>
hi!
[#9664] Bigdecimal isn't comparable — <noreply@...>
Bugs item #7045, was opened at 2006-12-04 19:20
On 12/4/06, noreply@rubyforge.org <noreply@rubyforge.org> wrote:
[#9685] Segmentation fault - bignorm() — ico@... (Ico Doornekamp)
[#9713] Sets and String subclasses — <noreply@...>
Bugs item #7253, was opened at 2006-12-13 12:26
> I would expect the second puts to return 5, not nil. In fact, I'd expect s.to_a[0] to return the same object as a.
[#9722] Kernel#system broken inside Dir.chdir(&block) if system command doesn't have shell characters — <noreply@...>
Bugs item #7278, was opened at 2006-12-14 13:59
Hi,
I bet your script /usr/local/bin/p4 is a shell script which doesn't have a
On Dec 14, 2006, at 18:57, Michael Selig wrote:
[#9725] Fixes going into 1.8.5.9 — "Zev Blut" <rubyzbibd@...>
Hello,
[#9749] System V IPC in standard library? — Steven Jenkins <steven.jenkins@...>
Back in August, I needed a semaphore to serialize access to an external
Hi,
Nobuyoshi Nakada wrote:
Hi,
[#9753] CVS freeze — SASADA Koichi <ko1@...>
Hi,
Hi,
Hi,
Hi,
Hi,
* Shugo Maeda (shugo@ruby-lang.org) wrote:
[#9794] Fwd: [Vit-core] Ruby 1.8.5-p2 Stable Version download bug-fix confusion. — James Edward Gray II <james@...>
The following is a complaint we received about the Ruby home page today.
[#9797] Where to start — "Strong Cypher" <cypherstrong@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#9803] RDoc patch that fixes rb_const_define output — <noreply@...>
Patches item #7499, was opened at 2006-12-30 05:23
On 12/30/06, Eric Hodel <drbrain@segment7.net> wrote:
On Dec 30, 2006, at 19:16, Daniel Berger wrote:
On Dec 31, 2006, at 24:31, Eric Hodel wrote:
[#9816] merge YARV — SASADA Koichi <ko1@...>
Hi,
CSV Issue
Greg Brown located an issue with the CSV library last night. I won't
call it "a bug," because everything pretty much works as advertised
(excepting possibly an == call). Still, it's surprising behavior
that can come back to haunt you pretty far down the line:
#!/usr/bin/env ruby -w
require "csv"
require "rubygems"
require "faster_csv"
require "yaml"
data = <<END_DATA
foo,bar,baz
END_DATA
fcsv = FCSV.parse(data).flatten # => ["foo", "bar", "baz"]
csv = CSV.parse(data).flatten # => ["foo", "bar", "baz"]
# a lie
fcsv == csv # => true
# the truth
fcsv.map { |field| field.class } # => [String, String, String]
csv.map { |field| field.class } # => [CSV::Cell, CSV::Cell, CSV::Cell]
# an issue (how the above hurts you)
fcsv_name, csv_name = "fcsv_dump.yaml", "csv_dump.yaml"
File.open(fcsv_name, "w") { |file| YAML.dump(fcsv, file) }
File.open(csv_name, "w") { |file| YAML.dump(csv, file) }
# if you later load without the libraries...
[CSV, FCSV].each { |c| Object.send(:remove_const, c.to_s) }
File.open(fcsv_name) { |file| YAML.load(file) } # => ["foo", "bar",
"baz"]
File.open(csv_name) { |file| YAML.load(file) } # =>
# ~> /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:152:in `yaml_new':
undefined method `allocate' for "CSV::Cell":String (NoMethodError)
# ~> from /usr/local/lib/ruby/1.8/yaml.rb:133:in `load'
# ~> from -:31
# ~> from -:31
__END__
Just in case people think this is a pretty contrived example, Greg
actually located the issue while working with the Basecamp API.
basecamp.rb serializes the data and then sends it up to a server that
won't have CSV loaded. This caused Basecamp to toss page redirects
and made for a very hard to find bug (just because the data was
originally loaded from CSV). Together, Greg and I both put in hours
to track it down.
I think the really issue here is that a CSV::Cell looks like a
String, but it's not really. It adds no significant functionality
either:
# deprecated
class Cell < String
def initialize(data = "", is_null = false)
super(is_null ? "" : data)
end
def data
to_s
end
end
I really think the library should be changed to use regular String
objects or at least convert fields as they are returned to calling
code. I'm hoping the "deprecated" comment indicates that this is
planned.
James Edward Gray II