[#387246] newbie question — sunny parker <info@2020proj.com>

i am coming from php and dont seem to quite understand how ruby works

13 messages 2011/09/01

[#387330] installing naive bayes classifier — aya abdelsalam <ayoya_91@...>

Hello

10 messages 2011/09/02

[#387344] Beginner needing help - Writing right-angle triangle program — Kane Williams <theburrick@...>

I've been going through a Haskell tutorial (Just to see what it's like)

12 messages 2011/09/03

[#387356] Which version should I download? — Vladimir Van Bauenhoffer <cluny_gisslaren@...>

Im new to programming and Im thinking of downloading and starting with

17 messages 2011/09/03

[#387392] loops problem — jack jones <shehio_22@...>

for (j = @array.length ; j > counter ; j = j-1) # counter is a variable

13 messages 2011/09/04

[#387469] posts on Unix systems programming — Eric Wong <normalperson@...>

I would like to do a series of mailing list posts on the subject of Unix

28 messages 2011/09/06

[#387530] Unexpected behavior of Ruby array — Suvankar Satpati <suvankar.17@...>

I was going through the exercises at http://rubykoans.com/ and got

11 messages 2011/09/08

[#387544] Executing the output of a look — dwight schrute <spambocks@...>

Hi,

14 messages 2011/09/08

[#387586] Creating a hash from two arrays — simon harrison <simonharrison.uk@...>

Hi. Can anyone help with this? I'd like to end with a hash like so:

15 messages 2011/09/09

[#387596] newbie ruby installation malloc issue — "mark e." <mark_f_edwards@...>

hi all -

12 messages 2011/09/09

[#387614] how to write data in binary to a file? — frank hi <yw_hi@163.com>

Hi,

11 messages 2011/09/10

[#387646] How do I make output generate a float without an excess numbers of decimal places? — Kane Williams <theburrick@...>

For example, my current code is

11 messages 2011/09/11

[#387725] Any downsides to writing paranthesises? — Vladimir Van Bauenhoffer <cluny_gisslaren@...>

Im a newbie programmer who is trying to learn Ruby after having just

18 messages 2011/09/12

[#387811] Get interpreter path — Michal Suchanek <hramrach@...>

Hello,

26 messages 2011/09/14
[#387842] Re: Get interpreter path — Phillip Gawlowski <cmdjackryan@...> 2011/09/14

On Wed, Sep 14, 2011 at 3:35 PM, Michal Suchanek <hramrach@centrum.cz> wrot=

[#387844] Re: Get interpreter path — Michal Suchanek <hramrach@...> 2011/09/14

On 14 September 2011 20:47, Phillip Gawlowski <cmdjackryan@gmail.com> wrote:

[#387814] Tough Ruby Homework — Rory Pascua <rorypascua@...>

I'm trying to take a long piece of text, find a word, and get that word

18 messages 2011/09/14

[#387853] Can I Safely Use Rubinius While Learning? — Aaron Jackson <jacksonaaronc@...>

Greetings,

18 messages 2011/09/15

[#387915] Some newbie questions — Vladimir Van Bauenhoffer <cluny_gisslaren@...>

I got some newbie questions which I would very much appreciate if

14 messages 2011/09/15

[#388003] Ruby Speed Question — Kevin Anon <oblivious.sage@...>

Wrote my first Ruby program recently for a class assignment where we had

12 messages 2011/09/18

[#388078] appending \n to each element in an array — Joe Collins <joec_49@...>

I have an array

13 messages 2011/09/20

[#388123] Turning on a special program at special time and turning off the computer at another special time — "amir e." <aef1370@...>

I decided to write a program in RUBY wherein these items have been done

11 messages 2011/09/21
[#388124] Re: Turning on a special program at special time and turning off the computer at another special time — andrew mcelroy <sophrinix@...> 2011/09/21

That sounds like a program a special program a terrorist would write. Are

[#388198] Conditional statements with multiple arguments — "Thomas B." <sinixlol@...>

Good afternoon everyone,

18 messages 2011/09/24

[#388203] Ruby 1.9.3 RC1 is out — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

19 messages 2011/09/24
[#388208] Re: [ANN] Ruby 1.9.3 RC1 is out — Quintus <sutniuq@...> 2011/09/24

-----BEGIN PGP SIGNED MESSAGE-----

[#388209] Re: [ANN] Ruby 1.9.3 RC1 is out — Chris White <cwprogram@...> 2011/09/24

[#388214] Re: [ANN] Ruby 1.9.3 RC1 is out — Quintus <sutniuq@...> 2011/09/24

-----BEGIN PGP SIGNED MESSAGE-----

[#388216] Re: [ANN] Ruby 1.9.3 RC1 is out — Yusuke Endoh <mame@...> 2011/09/24

Hello,

[#388248] Looking for better/familiar approach to command line opts — "Perl J." <perljunkie@...>

So I guess the warning to the reader upfront is... I'm a bit of a Perl

14 messages 2011/09/25

[#388333] Get all classes from a list of files — Jeroen van Ingen <jeroeningen@...>

I have a list of ruby files. I would like to create objects from all

11 messages 2011/09/28

[#388342] Ruby Syntax @keywords ||= [ ] — Bhavesh Sharma <sharmabhavesh@...>

Sorry if this comes across as a dumb question, but what does the

11 messages 2011/09/28

[#388366] IO.readlines will not accept variable with file name Why? — Joda jenson <jodajen2@...>

I am fairly new to Ruby and I am stuck on this. Would someone have a

13 messages 2011/09/29
[#388368] Re: IO.readlines will not accept variable with file name Why? — Robert Klemme <shortcutter@...> 2011/09/29

On Thu, Sep 29, 2011 at 11:14 AM, Joda jenson <jodajen2@yahoo.com> wrote:

Re: Looking for better/familiar approach to command line opts

From: Josh Cheek <josh.cheek@...>
Date: 2011-09-25 21:07:27 UTC
List: ruby-talk #388250
On Sun, Sep 25, 2011 at 4:03 PM, Josh Cheek <josh.cheek@gmail.com> wrote:

> On Sun, Sep 25, 2011 at 3:48 PM, Perl J. <perljunkie@gmail.com> wrote:
>
>> So I guess the warning to the reader upfront is...  I'm a bit of a Perl
>> hack who should have moved to Ruby a decade ago and just couldn't let go
>> of Perl.  Perl still does stuff that I use extensively that I can't
>> (take the time to) figure out how to do in Ruby, so... that's why I'm
>> here.
>>
>> I've got a small framework I wrote in Perl I've been using for years
>> that is lightweight and yet powerful.   A lot of it centers around the
>> use of AUTOLOAD, which some Perlers say is bad -- I say it's extremely
>> powerful if used properly, and actually, AUTOLOAD forms a lot of the
>> backbone for my framework.  And honestly, it's helped me do some things
>> in Perl that I see in Ruby.  So there's some irony here in that I wrote
>> a framework to give me some of the power I see in Ruby in Perl. :-)
>>
>> With all that as a backdrop, here's how I can process command line
>> arguments in Perl (*everything* I do in Perl is OO!!) and I want the
>> same thing in Ruby.  OptParser in Ruby is WAY more than I'm looking for
>> -- not as easy as what I'm used to (or maybe I don't understand
>> OptParser, which is likely).
>>
>> In Perl, I can do this:
>>
>> options = MyFramework::Options->new(
>>   sourcePath => 's:'
>>   destPath   => 'd:'
>>   verbose    => 'v'
>> );
>>
>> What ends up happening behind the scenes is a class instance is created
>> dynamically that essentially gives me the ability to say:
>>
>> ## I actually have a puts() I created in Perl as well,
>> ## borrowed from Ruby!
>> puts(
>>   "Source path.......: " . $options->sourcePath,
>>   "Destination path..: " . $options->destPath,
>>   "Verbose is........: " . ($options->verbose ? 'ON' : 'OFF'),
>> );
>>
>> So I have a getter for sourcePath, a getter for destPath and a getter
>> for verbose, automagically created for that instance loaded with the
>> values from the command line.  If I said:
>>
>> whatever = MyFramework::Options->new(
>>   foo => 'f:',
>>   bar => 'b:',
>> );
>>
>> Then I would have an instance of 'whatever' with foo and bar as getters,
>> etc. with the values of 'f' and 'b' from the command line loaded
>> appropriately.
>>
>> Now how to do this in Ruby?  Like I said, the OptParser seems WAY too
>> complicated for what I want and am trying to do.  It seems like you
>> still are coding some kind of OptParser class for the specific options
>> you want -- I don't want to create classes that mirror the command line
>> options.  I want to tell the class instance at the time I create it
>> (kind of like OpenStruct) what it looks like and it just creates the
>> right instance.  I want to be able to do this in Ruby, assuming I would
>> "define" this dynamically on the fly using maybe a hash as initial
>> input... I like the flexibility of hashes:
>>
>> options = Options.new({
>>   :sPath   => 's:',
>>   :dPath   => 'd:',
>>   :verbose => 'v',
>> })
>>
>> puts "Source path.......: #{options.sPath}"
>> puts "Destination path..: #{options.dPath}"
>> puts "Verbose is........: #{options.verbose ? 'ON' : 'OFF'}"
>>
>> What this is saying is "map the value of 's' from the command line into
>> @sPath, map the value of 'd' from the command line into @dPath, and map
>> whether 'v' exists, true or false, into @verbose."  Now how much more
>> simple can you get??!!
>>
>> Again, the warning of "trying to do Ruby stuff in a Perl way" comes to
>> me, but what I do in Perl is so stinking simple, it's unbelievable, and
>> this is one reason I haven't switched over to Ruby yet.  But now I'm
>> trying.
>>
>> Things I've tried: A lot of different combinations of...
>> -- missing_method()
>> -- define_method()
>> (I don't understand why a lot of d_m() examples use self.class.send()!!)
>> -- Struct()
>> -- OpenStruct()
>>
>> So far, requiring "optparse" and doing ARGV.getopts() does some of what
>> I want.  This is as close as I've gotten and it's not working:
>>
>> require "optparse"
>>
>> class Options
>>   attr_reader :cmdline, :options_list
>>   def initialize( options )
>>      @cmdline = ARGV.join( ' ' )
>>      @options_list = options.values.join
>>      params = ARGV.getopts( @options_list )
>>      options.each do |key,value|
>>         ## Why do I need to send( :define_method, ... ) here?
>>         ## Why can't I just say self.define_method?
>>         ## This seems like it would create proper closure
>>         ## on params[] elements?!
>>         self.class.send( :define_method, key ) { params[value] }
>>      end
>>   end
>> end
>>
>> options = Options.new({
>>   :sPath   => 's:',
>>   :dPath   => 'd:',
>>   :verbose => 'v',
>> })
>>
>> If someone can tell me how to do this using OptParser, so be it.  But
>> from an encapsulation standpoint, I'd like to be able to call it as I do
>> above.  If the innards of the Options class use OptParser, fine.
>>
>> -pj
>>
>> --
>> Posted via http://www.ruby-forum.com/.
>>
>>
> Ruby has a builtin -s flag, which will parse args
>
> I don't know Perl so I can't say if it will meet your needs, but does this
> program do what you want?
>
> -----
>
> #!/usr/bin/env ruby -s
> options = {
>   :source_path => 's'
>   :dest_path   => 'd'
>   :verbose    => 'v'
> }
> p options
>
>

Sorry, that should be like this:

---

#!/usr/bin/env ruby -s
options = {
  :source_path => $s,
  :dest_path   => $d,
  :verbose     => $v,
}
p options


---

And you could invoke it like this

$ ./script.rb -s=path/to/input.txt -d=path/to/output.txt -v
{:source_path=>"path/to/input.txt", :dest_path=>"path/to/output.txt",
:verbose=>true}

In This Thread