Forum: Ruby simple question

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
anitawa (Guest)
on 2007-07-20 04:46
(Received via mailing list)
hello

I have a string like this

string = "hello -a apple -b butterfly -c cat -d dophin"

i would like to parse the string based on some reg exp so that i can
store it in a variable like so.

valuea = "apple"
valueb = "butterfly"
valuec = "cat"
valued = "dophin"

Could someone help me out.
Michael H. (Guest)
on 2007-07-20 06:22
(Received via mailing list)
anitawa wrote:
> valueb = "butterfly"
> valuec = "cat"
> valued = "dophin"
>
> Could someone help me out.
>

Are you parsing a command line? If so, you might want to consider
http://www.ruby-doc.org/stdlib/libdoc/optparse/rdo...

cheers,
mick
Ari B. (Guest)
on 2007-07-20 06:24
(Received via mailing list)
or a gem called 'OptionParser'. It's like optparse, only, I find, a
lot simpler.

On Jul 19, 2007, at 10:19 PM, Michael H. wrote:

>> Could someone help me out.
>
> Are you parsing a command line? If so, you might want to consider
> http://www.ruby-doc.org/stdlib/libdoc/optparse/rdo...
>
> cheers,
> mick
>
>

---------------------------------------------------------------|
~Ari
"I don't suffer from insanity. I enjoy every minute of it" --1337est
man alive
Travis D Warlick Jr (Guest)
on 2007-07-20 06:25
(Received via mailing list)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

anitawa wrote:
> valueb = "butterfly"
> valuec = "cat"
> valued = "dophin"

Here you go, but I just had to make one change.  Instead of having
variables
valuea, valueb, valuec..., I put them in a hash called value.  Is it
absolutely
necessary to have them as you posted?

string.split(/\s-/).each do |v|
  v = v.split(/\s/)
  value[ v[0] ] = v[1] if v.size == 2
end

So you would have

value["a"] = "apple"
value["b"] = "butterfly"
etc...

- --
  Travis W.

  "Programming in Java is like dealing with your mom --
   it's kind, forgiving, and gently chastising.
   Programming in C++ is like dealing with a disgruntled
   girlfriend -- it's cold, unforgiving, and doesn't tell
   you what you've done wrong."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGoBzPWvapaOIz2YYRAq0/AJ91/fhAjvzUTNPdorleu5KM39yFIACeI33D
up+jMT1DWbZA/pjE63ihgZk=
=EHig
-----END PGP SIGNATURE-----
This topic is locked and can not be replied to.