[#6660] Ruby on Neko ? — Nicolas Cannasse <ncannasse@...>

Hi folks,

14 messages 2005/11/19

[#6672] testing for hardlink with "test(?-, ...)" flawed on Windows — noreply@...

Bugs item #2858, was opened at 2005-11-20 16:35

13 messages 2005/11/20

[#6684] semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...>

Hi all,

81 messages 2005/11/21
[#6685] Re: semenatics of if/unless/while statement modifiers — Mauricio Fern疣dez <mfp@...> 2005/11/22

On Tue, Nov 22, 2005 at 08:22:59AM +0900, Stefan Kaes wrote:

[#6686] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

Mauricio Fern疣dez wrote:

[#6687] Re: semenatics of if/unless/while statement modifiers — Eric Hodel <drbrain@...7.net> 2005/11/22

On Nov 21, 2005, at 4:37 PM, Stefan Kaes wrote:

[#6689] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

Eric Hodel wrote:

[#6693] Re: semenatics of if/unless/while statement modifiers — Yukihiro Matsumoto <matz@...> 2005/11/22

Hi,

[#6695] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

Yukihiro Matsumoto wrote:

[#6718] Re: semenatics of if/unless/while statement modifiers — mathew <meta@...> 2005/11/22

[#6722] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

mathew wrote:

[#6707] Re: semenatics of if/unless/while statement modifiers — "David A. Black" <dblack@...> 2005/11/22

Hi --

[#6708] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

David A. Black wrote:

[#6714] Re: semenatics of if/unless/while statement modifiers — "David A. Black" <dblack@...> 2005/11/22

Hi --

[#6717] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

David A. Black wrote:

[#6798] ruby 1.8.4 preview2 — Yukihiro Matsumoto <matz@...>

Hi,

37 messages 2005/11/30

Re: [Patch] lib/shellwords.rb

From: nobuyoshi nakada <nobuyoshi.nakada@...>
Date: 2005-11-07 08:45:26 UTC
List: ruby-core #6582
Hi,

At Mon, 7 Nov 2005 16:20:47 +0900,
Kev Jackson wrote in [ruby-core:06581]:
> +        case line

You'd intend just `case' without `line' here.

This is my version.

  def shellwords2(line)
    line = String.new(line) rescue
      raise(ArgumentError, "Argument must be a string")
    words = []
    field = ''
    last = 0
    sep = nil
    line.scan(/\G\s*(?:([^\s\\\'\"]+)|'([^\']*)'|"((?:[^\"\\]|\\.)*)"|(\\.?))(\s+|\z)?/m) do
      last = $~.end(0)
      sep = $~.begin(5)
      field << ($1 || $2 || ($3 || $4).gsub(/\\(?=.)/, ''))
      if sep
        words << field
        field = ''
      end
    end
    raise ArgumentError, "Unmatched double quote: #{line}" if line[last]
    words
  end

It seems nearly 50% faster than current version.

  $ ruby -Ilib -rshellwords -rbenchmark -e 'n=50;s="abc "*500;Benchmark.bm{|x|x.report {n.times{Shellwords.shellwords(s)}};x.report {n.times{Shellwords.shellwords2(s)}}}'
        user     system      total        real
    0.594000   0.015000   0.609000 (  0.599000)
    0.390000   0.000000   0.390000 (  0.394000)

-- 
Nobu Nakada

In This Thread

Prev Next