From: Kazuhiro Yoshida Date: 1999-11-08T18:17:35+09:00 Subject: [ruby-dev:8288] Re: %w(a\ b\ c abc) もりきゅうです。 >ToDo に書いてあった > > %w(a\ b\ c abc) => ["a b c", "abc"] > >を Ruby レベルで実現してみました。 %w( ) で落ちました。^^; 修正版。 -- def w(s) a = s.split(/\\ /) # p a b = [''] a.each { |i| c = i.split(/ +/) b[-1] << ' ' unless b[-1].empty? unless c.empty? b[-1] << c.shift # p c b += c end } b[-1].chop! if b[-1][-1] == (? ) b.shift if b[0].empty? b end p w '' p w 'a' p w ' ' p w '\\' p w '\ ' p w 'a\ b\ c abc' p w 'a\ b c\ abc' p w 'a\ b\ c abc' -- ---- Kazuhiro Yoshida moriq.kazuhiro@nifty.ne.jp