From: Minero Aoki Date: 2002-11-18T18:13:12+09:00 Subject: ruby-dev summary 18711-18810 Hi all, This is a summary of ruby-dev ML in these days. [ruby-dev:18651] Enumerable#zip (contd.) Matz has noted some preconditions about this issue: * The main reason to introduce Enumerable#zip is the parallel iteration (to be precise, "finite parallel each"). * We should not use Thread/Continuation. * We should not use external iterator (Iterator pattern). * (on zip) We should not raise exceptions when the length of the components are differ. Under these conditions, following candidates are remained: # Enumerable#zip for x,y in a.zip(b) do ... end a.zip(b).each {|x,y| ...} # Problem: If the length of a and b are different, # which one should we choose? The default value/block does # not resolve this problem, because it is equal to the # "choose longest" strategy. # Enumerable#sync_each a.sync_each(b,c) {|a,b,c| ... } # Problem: "sync_each" is not a good name. Following candidates have been already rejected: # Array.zip --- "Array." is too redundant for our aim. for x,y in Array.zip(a,b) do ... end Array.zip(a,b).each {|x,y| ...} # Enumerable#map_with_index --- too long description. a.map_with_index {|x,idx| [a, b[idx]] }.each {|x,y| ... } # Array#zip --- Temporal object (an array in this case) # should not be a receiver. for x,y in [a,b].zip do ... end [a,b].zip.each {|x,y| ... } # Kernel#zip --- We already have too many toplevel methods. zip(a,b).each {|x,y| ... } [ruby-dev:18711] another implementation of pstore Current pstore.rb may crash a database file when a ruby process is interrupted on certain bad timings. YANAGAWA Kazuhisa announced his implementation of pstore.rb, which resolves such problems. You can get it from: http://www.dm4lab.to/~kjana/ruby/ps.tar.gz NOTE: He does NOT intend on replacing current implementation. This is just a sample, by now. [ruby-dev:18739] change chomp! Shin-ichiro HARA suggested that String#chomp should cut off CR and LR at once. Knu pointed out that ruby 1.7 already acts like such. -- Minero Aoki