[#14696] Inconsistency in rescuability of "return" — Charles Oliver Nutter <charles.nutter@...>

Why can you not rescue return, break, etc when they are within

21 messages 2008/01/02

[#14738] Enumerable#zip Needs Love — James Gray <james@...>

The community has been building a Ruby 1.9 compatibility tip list on =20

15 messages 2008/01/03
[#14755] Re: Enumerable#zip Needs Love — Martin Duerst <duerst@...> 2008/01/04

Hello James,

[#14772] Manual Memory Management — Pramukta Kumar <prak@...>

I was thinking it would be nice to be able to free large objects at

36 messages 2008/01/04
[#14788] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/05

I would only like to add that RMgick for example provides free method to

[#14824] Re: Manual Memory Management — MenTaLguY <mental@...> 2008/01/07

On Sat, 5 Jan 2008 15:49:30 +0900, Marcin Raczkowski <mailing.mr@gmail.com> wrote:

[#14825] Re: Manual Memory Management — "Evan Weaver" <evan@...> 2008/01/07

Python supports 'del reference', which decrements the reference

[#14838] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/08

Evan Weaver wrote:

[#14911] Draft of some pages about encoding in Ruby 1.9 — Dave Thomas <dave@...>

Folks:

24 messages 2008/01/10

[#14976] nil encoding as synonym for binary encoding — David Flanagan <david@...>

The following just appeared in the ChangeLog

37 messages 2008/01/11
[#14977] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14978] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14979] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Dave Thomas wrote:

[#14993] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14980] Re: nil encoding as synonym for binary encoding — Gary Wright <gwtmp01@...> 2008/01/11

[#14981] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14995] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Yukihiro Matsumoto writes:

[#15050] how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...>

Core Rubies:

17 messages 2008/01/13
[#15060] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 08:54 AM, Phlip wrote:

[#15062] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...> 2008/01/14

Eric Hodel wrote:

[#15073] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 20:35 PM, Phlip wrote:

[#15185] Friendlier methods to compare two Time objects — "Jim Cropcho" <jim.cropcho@...>

Hello,

10 messages 2008/01/22

[#15194] Can large scale projects be successful implemented around a dynamic programming language? — Jordi <mumismo@...>

A good article I have found (may have been linked by slashdot, don't know)

8 messages 2008/01/24

[#15248] Symbol#empty? ? — "David A. Black" <dblack@...>

Hi --

24 messages 2008/01/28
[#15250] Re: Symbol#empty? ? — Yukihiro Matsumoto <matz@...> 2008/01/28

Hi,

Re: replace csv.rb with fastercsv.rb

From: James Gray <james@...>
Date: 2008-01-02 14:55:14 UTC
List: ruby-core #14692
On Dec 24, 2007, at 5:27 PM, Dave Thomas wrote:

>
> On Dec 24, 2007, at 4:31 PM, NAKAMURA, Hiroshi wrote:
>
>> We can download plain old CSV from
>> http://dev.ctor.org/csv/browser/trunk/lib/csv.rb?format=3Dtxt
>> As far as I know "the core team" does not use csv.rb.  You and I =20
>> are the
>> person who well knows 'how users use csv.rb in ruby' in comitters.  =20=

>> You
>> can help users who will posts compatibility questions to ruby-talk,
>> right?  Go ahead.
>
> James:
>
> Are there any points you'd like me to make about it when I update =20
> the CSV page in PickAxe 3?

Things you may want to point out in the prose:

* It's the FasterCSV code base, renamed to CSV.  Many people are =20
familiar with it.
* The API is almost the same as the old CSV, if you stick to the class =20=

methods of CSV itself.
* The main exception is CSV.open() which now behaves like File.open() =20=

instead of File.foreach().  Use CSV.foreach() if you want foreach() =20
behavior.
* Options are now passed in the Hash argument style, instead of as =20
positional parameters.  So the old CSV.foreach(path, "\r\n") changes =20
to CSV.foreach(path, :row_sep =3D> "\r\n").
* The new library has a lot more features, especially regarding CSV =20
files with a header row.
* The code is fully documented, so users can read up on the changes.

Notes about your existing examples:

* Change open() to foreach() and drop the "r" mode indicator and your =20=

first example runs the same.
* Your second example is where the new library really shines and =20
you'll probably want to rework it to show readers that.  I think you =20
should show the library reading the headers and referring to the =20
columns by name:

   total_cost =3D 0
   CSV.foreach("csvfile_hdr", :headers =3D> true) do |line_item|
     total_cost +=3D line_item["Count"] * line_item["Price"]
   end

* Your third example can be super short using the new code:

   CSV do |csv|
     # =85
   end

That's really a shortcut and if you prefer to show the longhand =20
version it is:

   CSV.instance($stdout) do |csv|
     # =85
   end

New stuff:

The new code has a table feature that might fun to show in an =20
example.  There's an example file in the FasterCSV source that should =20=

give you the feel of how it works:

   http://fastercsv.rubyforge.org/svn/trunk/examples/csv_table.rb

I understand if there just isn't room though.

I hope that helps you make the update.  I'm happy to answer any =20
questions for you as needed, of course.

James Edward Gray II


In This Thread