[#6115] Ruby 1.8.3: YAML.dump/load cannot handle Bignum — akira yamada / やまだあきら <akira@...>
[#6119] Packaging BOF on Friday the 14th? — Austin Ziegler <halostatue@...>
(Crossposted to both ruby-core and rubygems-developers for the benefit
[#6135] ObjectSpace.each_object, but not Symbols? — TRANS <transfire@...>
I added some state to Symbol:
Hi,
Hi,
[#6143] — Christophe Poucet <christophe.poucet@...>
Hello,
Hi,
On Wed, 5 Oct 2005 nobu.nokada@softhome.net wrote:
Hi,
On Wed, 5 Oct 2005, nobuyoshi nakada wrote:
[#6161] On NullClass or FalseClass#method_missing — TRANS <transfire@...>
Hi--
[#6162] Concerning shared flag — Christophe Poucet <christophe.poucet@...>
Hello,
>>>>> "C" == Christophe Poucet <christophe.poucet@gmail.com> writes:
Hello,
>>>>> "C" == Christophe Poucet <christophe.poucet@gmail.com> writes:
[#6188] yield and call not identical? — "David A. Black" <dblack@...>
Hi --
[#6199] Kernel rdoc HTML file not being created when rdoc is run on 1.8.3 — James Britt <ruby@...>
When 1.8.3 came out, I grabbed the source and ran rdoc on it. After
On Sun, Oct 09, 2005 at 12:41:02AM +0900, James Britt wrote:
Doug Kearns wrote:
H.Yamamoto wrote:
On 10/19/05, why the lucky stiff <ruby-core@whytheluckystiff.net> wrote:
[#6213] extend and super -- I cannot understand why this behavior — TRANS <transfire@...>
module Q
On Tue, 11 Oct 2005, TRANS wrote:
On 10/10/05, Mathieu Bouchard <matju@artengine.ca> wrote:
On Tue, 11 Oct 2005, TRANS wrote:
On 10/10/05, Mathieu Bouchard <matju@artengine.ca> wrote:
[#6235] Keyword arguments in Rite — Daniel Schierbeck <daniel.schierbeck@...>
Hello everybody! I'm new to this list, so please don't flame me if what
Daniel Schierbeck wrote:
[#6251] RubyGems, upstream releases and idempotence of packaging — Mauricio Fern疣dez <mfp@...>
[sorry for the very late reply; I left this message in +postponed and forgot
On 10/13/05, Mauricio Fern疣dez <mfp@acm.org> wrote:
On Thu, Oct 13, 2005 at 08:55:41PM +0900, Gavin Sinclair wrote:
[#6262] Re: A concrete solution to RubyGems' repackageability problems — Gavin Sinclair <gsinclair@...>
On 10/13/05, Mauricio Fern疣dez <mfp@acm.org> wrote:
[#6282] Wilderness: Need Code to invoke ELTS_SHARED response — "Charles E. Thornton" <ruby-core@...>
Testing the My Object Dump and I am trying to cause creation
On Fri, Oct 14, 2005 at 05:04:59PM +0900, Charles E. Thornton wrote:
Mauricio Fern疣dez wrote:
On Oct 14, 2005, at 12:43 PM, Charles E. Thornton wrote:
On Sun, Oct 16, 2005 at 01:34:13PM +0900, Charles Mills wrote:
Mauricio Fern疣dez wrote:
[#6284] Ruby 1.8.3, Gems, Rake and Syck — TRANS <transfire@...>
George Moschovitis tried to send me a gem to try out and it would not install.
On 10/14/05, Ryan Davis <ryand-ruby@zenspider.com> wrote:
[#6315] Integer#** weirdness — Peter Vanbroekhoven <calamitates@...>
Hello,
[#6338] Help/Ruby 1.8.3/HP-UX/[BUG] Bus Error — tad.bochan@...
Hi ... need help ...
[#6358] Handle prompts with newlines in irb auto-indentation mode — noreply@...
Bugs item #2705, was opened at 2005-10-23 23:07
Hi,
[#6362] CGI read_multipart implementaion can create Tempfiles for files less than 10KB — noreply@...
Bugs item #2708, was opened at 2005-10-24 15:44
On Mon, 24 Oct 2005 noreply@rubyforge.org wrote:
[#6364] lib/rational.rb documentation — Gavin Sinclair <gsinclair@...>
Hi,
[#6365] Time for built-in Rational and Complex classes? — Gavin Sinclair <gsinclair@...>
There has been some support for, but no comment on, RCR #260 ("Make
On Mon, 24 Oct 2005, Gavin Sinclair wrote:
On Oct 24, 2005, at 7:14 AM, Ara.T.Howard wrote:
On Wed, 26 Oct 2005, Charles Mills wrote:
On 10/26/05, Mathieu Bouchard <matju@artengine.ca> wrote:
On Thu, 27 Oct 2005, Charles Mills wrote:
On 10/27/05, Mathieu Bouchard <matju@artengine.ca> wrote:
[#6373] instance_eval/instance_exec discussion — Daniel Amelang <daniel.amelang@...>
Introduction:
Hi,
[#6376] Crash in Tk demo of Ruby 1.9.0 CVS — Jean-Claude Arbaut <jcarbaut@...>
I tried the demos in /ruby/ext/tk/sample/demos-en/widget
[#6389] [PATCH] 1.8.3 ruby.c doesn't compile on OS X due to missing char **environ — noreply@...
Bugs item #2715, was opened at 2005-10-24 23:01
Hi,
[#6391] Threading performance — Wink Saville <wink@...>
Hello all,
[#6396] Nested Exception — Yohanes Santoso <ysantoso-rubycore@...>
Would you accept a patch to provide nested Exception?
[#6402] Pathname.exists?() — James Edward Gray II <james@...>
Pathname supports the legacy exist?() method, but not the current
[#6405] Re: [PATCH] Pathname.exists?() — "Berger, Daniel" <Daniel.Berger@...>
On 10/25/05, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
On 10/26/05, TRANS <transfire@gmail.com> wrote:
On 10/25/05, Gavin Sinclair <gsinclair@gmail.com> wrote:
On Oct 25, 2005, at 11:28 AM, TRANS wrote:
On Wed, 26 Oct 2005, Eric Hodel wrote:
On 10/26/05, Ara.T.Howard <Ara.T.Howard@noaa.gov> wrote:
On 10/25/05, Gavin Sinclair <gsinclair@gmail.com> wrote:
[#6419] Refactoring eval.c into eval.c, thread.c, thread.h & eval.h — Wink Saville <wink@...>
Hello,
[#6427] Re: Wilderness: I am working of a TAGS Extension - We Have One? — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#6430] PStore Documentation — James Edward Gray II <james@...>
The attached patch completely documents the PStore library. Please
James Edward Gray II wrote:
[#6442] Wilderness: I Have formatted README.EXT into an HTML Document — "Charles E. Thornton" <ruby-core@...>
I have taken README.EXT (English Version Only) and have reformatted
Hi,
Charles E. Thornton wrote:
[#6455] Wilderness: OK - Let us Try to sending it (not as a reply) — "Charles E. Thornton" <ruby-core@...>
I am sorry - I don't understand this problem
[#6469] csv.rb a start on refactoring. — Hugh Sasse <hgs@...>
For a database application I found using CSV to be rather slow.
On Oct 28, 2005, at 8:53 AM, Ara.T.Howard wrote:
On Fri, 28 Oct 2005, James Edward Gray II wrote:
On Oct 28, 2005, at 9:58 AM, Ara.T.Howard wrote:
On Sat, 29 Oct 2005, James Edward Gray II wrote:
On Oct 28, 2005, at 8:25 PM, Ara.T.Howard wrote:
On Sat, 29 Oct 2005, James Edward Gray II wrote:
On Oct 28, 2005, at 8:43 PM, Ara.T.Howard wrote:
On Oct 28, 2005, at 8:43 PM, Ara.T.Howard wrote:
On Oct 28, 2005, at 10:06 PM, James Edward Gray II wrote:
On Sun, 30 Oct 2005, James Edward Gray II wrote:
On Oct 29, 2005, at 12:11 PM, Ara.T.Howard wrote:
On Mon, 31 Oct 2005, James Edward Gray II wrote:
I've decided to create a FasterCSV library, based on the code we
On Mon, 31 Oct 2005, James Edward Gray II wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Mon, 31 Oct 2005, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Tue, 1 Nov 2005, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Wed, 2 Nov 2005, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 29, 2005, at 12:11 PM, Ara.T.Howard wrote:
On Tue, 1 Nov 2005, James Edward Gray II wrote:
On Oct 31, 2005, at 11:59 AM, Ara.T.Howard wrote:
[#6508] characters (and small strings) in ruby 2.0 — Eric Mahurin <eric.mahurin@...>
In ruby 2.0, the current plan is to for a character to be represented as a
Re: csv.rb a start on refactoring.
On Sun, 30 Oct 2005, James Edward Gray II wrote:
> On Oct 28, 2005, at 10:06 PM, James Edward Gray II wrote:
>
>> Here's the hyper-optimized version with an example of how he uses it
>> (translated from Perl to Ruby by me):
>
> This certainly seems promising, at least as a starting point:
>
> Neo:~/Desktop$ cat bm_csv.rb
> #!/usr/local/bin/ruby -w
>
> require "csv"
> require "benchmark"
>
> def parse_csv( line )
> results = Array.new
> line.scan(/\G(?:^|,)(?:"((?>[^"]*)(?>""[^"]*)*)"|([^",]*))/) do
> if $1.nil?
> results << $2
> else
> results << $1.gsub('""', '"')
> end
> end
> results
> end
>
> DATA = %Q{Ten Thousand,10000, 2710 ,,"10,000","It's ""10 Grand"", baby",10K}
> TESTS = 50000
>
> Benchmark.bm do |timings|
> timings.report("CSV") { TESTS.times { CSV.parse_line(DATA) } }
> timings.report("Regexp") { TESTS.times { parse_csv(DATA) } }
> end
> Neo:~/Desktop$ ruby bm_csv.rb
> user system total real
> CSV 18.570000 0.060000 18.630000 ( 18.675331)
> Regexp 2.700000 0.010000 2.710000 ( 2.726666)
it __is__ promising!
it may or may not be tricky to get these failing cases working though:
harp:~ > ruby a.rb
==========================================
CSV2[7] => FAILED (RuntimeError)
==========================================
input:
"a,\"\"\"\nb\n\"\"\",\nc"
csv:
["a", "\"\nb\n\"", "\nc"]
expected:
["a", "\"\nb\n\"", nil]
==========================================
==========================================
CSV2[8] => FAILED (RuntimeError)
==========================================
input:
"a,,,"
csv:
["a", "", "", ""]
expected:
["a", nil, nil, nil]
==========================================
==========================================
CSV2[9] => FAILED (RuntimeError)
==========================================
input:
","
csv:
[""]
expected:
[nil, nil]
==========================================
==========================================
CSV2[13] => FAILED (RuntimeError)
==========================================
input:
",\"\""
csv:
[""]
expected:
[nil, ""]
==========================================
==========================================
CSV2[14] => FAILED (RuntimeError)
==========================================
input:
",\"\r\""
csv:
[""]
expected:
[nil, "\r"]
==========================================
==========================================
CSV2[16] => FAILED (RuntimeError)
==========================================
input:
"\"\r\n,\","
csv:
["\r\n,", ""]
expected:
["\r\n,", nil]
==========================================
mode of the erros stem from problems dealing with leading/trailing commas. i
think it could be fixed.
code inlined at the end of this message. btw - don't get me wrong - i'd
__love__ to see csv be faster, i just happen to load tons of mega escaped
doccuments so it has to handle anything we can throw at it too.
cheers.
-a
--
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| anything that contradicts experience and logic should be abandoned.
| -- h.h. the 14th dalai lama
===============================================================================
require 'pp'
require 'csv'
module CSV2
def self::parse_line line
csv = Array.new
line.scan(/\G(?:^|,)(?:"((?>[^"]*)(?>""[^"]*)*)"|([^",]*))/){ csv << ($1 ? $1.gsub('""', '"') : $2)}
csv
end
end
tests = [
[
%( a,b ),
["a", "b"]
],
[
%( a,"""b""" ),
["a", "\"b\""]
],
[
%( a,"""b" ),
["a", "\"b"]
],
[
%( a,"b""" ),
["a", "b\""]
],
[
%( a,"
b""" ),
["a", "\nb\""]
],
[
%( a,"""
b" ),
["a", "\"\nb"]
],
[
%( a,"""
b
""" ),
["a", "\"\nb\n\""]
],
[
%( a,"""
b
""",
c ),
["a", "\"\nb\n\"", nil]
],
[
%( a,,, ),
["a", nil, nil, nil]
],
[
%( , ),
[nil, nil]
],
[
%( "","" ),
["", ""]
],
[
%( """" ),
["\""]
],
[
%( """","" ),
["\"",""]
],
[
%( ,"" ),
[nil,""]
],
[
%( \r,"\r" ),
[nil,"\r"]
],
[
%( "\r\n," ),
["\r\n,"]
],
[
%( "\r\n,", ),
["\r\n,", nil]
],
]
impls = CSV, CSV2
tests.each_with_index do |test, idx|
input, expected = test
csv = []
impls.each do |impl|
begin
csv = impl::parse_line input.strip
raise "FAILED" unless csv == expected
rescue => e
puts "=" * 42
puts "#{ impl }[#{ idx }] => #{ e.message } (#{ e.class })"
puts "=" * 42
puts "input:\n#{ PP::pp input.strip, '' }"
puts "csv:\n#{ PP::pp csv, '' }"
puts "expected:\n#{ PP::pp expected, '' }"
puts "=" * 42
puts
end
end
end
__END__
http://www.ietf.org/rfc/rfc4180.txt