[#362083] Teaching Programming Languages (including Ruby) — Samuel Williams <space.ship.traveller@...>

Hello,

20 messages 2010/05/02

[#362098] Main working window for Ruby is DOS? — Kaye Ng <sbstn26@...>

I know nothing about programming and am not a techy person, so please

16 messages 2010/05/03

[#362116] School teacher still at it learning programming language — Hilary Bailey <my77elephants@...>

Now I while glimpsing at the beauty of Ruby, there is the software of

11 messages 2010/05/03

[#362166] Something I expected to work, but didn't! — Kurtis Rainbolt-greene <kurtisrainboltgreene@...>

irb(main):001:0> x = 2

11 messages 2010/05/04

[#362215] for-in vs. map closures — Mike Austin <mike_ekim@...>

I was experimenting with closures and JavaScript's and Ruby's

11 messages 2010/05/05

[#362286] ri on sqlite — Intransition <transfire@...>

What do others think of a creating a new ri tool which uses a SQLite

17 messages 2010/05/06

[#362341] ease of porting (translating) ruby to C (vs. python)? — bwv549 <jtprince@...>

In a very small bioinformatics group I know of, they are deciding

17 messages 2010/05/07

[#362375] Strings iteration — Viorel <viorelvladu@...>

I have some names like aaxxbbyy where xx is '01'..'10' and yy is also

14 messages 2010/05/08

[#362425] Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...>

Have apps moved over to the web (or GUI) totally ? Will there be any

21 messages 2010/05/10
[#362441] Re: Any future for curses applications/toolkits like rbcurse ? — botp <botpena@...> 2010/05/10

On Mon, May 10, 2010 at 2:13 PM, R. Kumar <sentinel.2001@gmx.com> wrote:

[#362448] Re: Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...> 2010/05/10

interface and/or the installation itself is terrible.

[#362458] Re: Any future for curses applications/toolkits like rbcurse ? — botp <botpena@...> 2010/05/10

On Mon, May 10, 2010 at 10:28 PM, R. Kumar <sentinel.2001@gmx.com> wrote:

[#362460] Re: Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...> 2010/05/10

botp wrote:

[#362463] Re: Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...> 2010/05/10

Strange. I cant push a gem even after yanking.

[#362452] Unit Test of method calling system() - how? — Martin Hansen <mail@...>

How can I unit test the two methods:

16 messages 2010/05/10

[#362498] In Ruby, can the coerce() method know what operator it is th — Jian Lin <blueskybreeze@...>

In Ruby, it seems that a lot of coerce() help can be done by

12 messages 2010/05/11
[#362546] Re: In Ruby, can the coerce() method know what operator it is th — Caleb Clausen <vikkous@...> 2010/05/11

On 5/10/10, Jian Lin <blueskybreeze@gmail.com> wrote:

[#362611] Re: In Ruby, can the coerce() method know what operator it is th — Colin Bartlett <colinb2r@...> 2010/05/12

On Tue, May 11, 2010 at 4:46 PM, Caleb Clausen <vikkous@gmail.com> wrote:

[#362657] Asynchronous HTTP request — Daniel DeLorme <dan-ml@...42.com>

Does anyone know how to do the following, but without threads, purely

28 messages 2010/05/13

[#362718] Range on strings. — Vikrant Chaudhary <nasa42@...>

Hi,

13 messages 2010/05/14

[#362787] class best way for getters ? — unbewusst.sein@... (Une B騅ue)

i have a class "HFSFile" initialized by a parsed string

12 messages 2010/05/15

[#362979] curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...>

Two questions:

14 messages 2010/05/18
[#362980] Re: curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...> 2010/05/18

On 10-05-18 02:35 PM, Xeno Campanoli / Eskimo North and Gmail wrote:

[#362982] Re: curl library? — Luis Parravicini <lparravi@...> 2010/05/18

On Tue, May 18, 2010 at 6:56 PM, Xeno Campanoli / Eskimo North and

[#362984] Re: curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...> 2010/05/18

Well, I got that -dev thing installed with apt-get, and then I tried again and

[#363027] Retrieve instance — Walle Wallen <walle.sthlm@...>

Quick question. Can I somehow retrieve the instance of the class Test in

11 messages 2010/05/19

[#363076] Scrape javascript content — Phil Mcdonnell <phil.a.mcdonnell@...>

I'm trying to scrape a page that hides some data behind a javascript

11 messages 2010/05/20

[#363115] OMG, why are there so many Strings in ObjectSpace! — timr <timrandg@...>

I was playing around looking at ObjectSpace in irb and was astounded

14 messages 2010/05/21

[#363225] Redefine a Class? — Mark T <paradisaeidae@...>

Currently this raises: superclass mismatch for class Soda (TypeError)

12 messages 2010/05/25

[#363240] Funny IO.select behaviour — Dennis Nedry <dennis@...>

I've been debugging my full screen console ruby editor.

13 messages 2010/05/25

[#363348] Ruby as Client Side Language in Web Browser (replacing JS) — "Simone R." <k5mmx@...>

Hi everybody,

17 messages 2010/05/27

[#363412] A better way to write this function? — Jason Lillywhite <jason.lillywhite@...>

Here is my attempt at Newton's second law in Ruby:

14 messages 2010/05/28

[#363417] Interrupting the evaluation of a ruby script — Emmanuel Emmanuel <emmanuel.bacry@...>

This is my problem :

12 messages 2010/05/28
[#363447] Re: Interrupting the evaluation of a ruby script — Branden Tanga <branden.tanga@...> 2010/05/28

Emmanuel Emmanuel wrote:

[#363483] Re: Interrupting the evaluation of a ruby script — Emmanuel Emmanuel <emmanuel.bacry@...> 2010/05/29

[#363426] A complete beginners question — Ant Walliams <anthonywainwright@...>

Hi there,

19 messages 2010/05/28

[#363432] Dynamic SVG with Ruby/Tk — Yotta Meter <spam@...>

The example I'm looking for in regards to ruby/SVG differs from the

14 messages 2010/05/28

[#363467] Date.today problem on linux with Ruby 1.8.6 — Jarmo Pertman <jarmo.p@...>

Hello.

10 messages 2010/05/29

[#363524] enumerator problem in 1.9.1 — Bug Free <amberarrow@...>

The following line:

19 messages 2010/05/31
[#363528] Re: enumerator problem in 1.9.1 — botp <botpena@...> 2010/05/31

On Mon, May 31, 2010 at 9:04 AM, Bug Free <amberarrow@yahoo.com> wrote:

[#363533] Re: enumerator problem in 1.9.1 — Robert Klemme <shortcutter@...> 2010/05/31

2010/5/31 botp <botpena@gmail.com>:

Re: interested in writing a commandline option parser for ruby?

From: Michael Fellinger <m.fellinger@...>
Date: 2010-05-12 17:07:17 UTC
List: ruby-talk #362615
On Wed, May 12, 2010 at 11:44 AM, William Morgan
<wmorgan-ruby-talk@masanjin.net> wrote:
> Reformatted excerpts from Michael Fellinger's message of 2010-05-11:
>> I have no idea what caused this rage of you,
>
> Suboptimal software.
>
>> but would you kindly tell me what's wrong with OptionParser
>> (optparse.rb in stdlib)?
>
> 1. Too many positional arguments. Which is the correct version?
>
> =C2=A0opts.on( '-f', '--float NUM', Float, "Convert to float" )
> =C2=A0opts.on( '-f', '--float NUM', "Convert to float", Float )
>
> If you have to look it up, optparse fails.

The first one on first glance, but I'm using that library for years now.

>
> 2. The use of blocks. 99% of the time you're just throwing stuff in a
> hash anyways, in which case you now have to maintain the mapping between
> hash keys and arguments. The rest of the time you're doing complicated
> stuff in the blocks, in which case you have code mixed in the middle of
> your argument list.

The first one is true, it used to be nicer in 1.8 when people abused
the block pipes ;)
You can put longer code into methods and use them as blocks:
o.on('-h', '--help', 'read me', &method(:help))
See http://github.com/manveru/ver/blob/master/bin/ver#L167 as an example.

> 3. No notion of default arguments. You have to explicitly write them
> into your code, e.g. by using a hash and initializing it.

You have to put your defaults somewhere, might as well be a Hash.

> 4. If optparse knows your argument is named '--float', why doesn't it
> automatically generate a short option '-f'? (Likewise, if optparse knew
> what your default value was, it could infer the type-checking for you.)

Because you'd rather not provide a short version for some stuff,
especially if there are two options called --float-min and
--float-max?
Again, a default value doesn't need to have anything to do with the
accepted values.

> 5. Complicated API. on_head, on_tail, make_switch, etc.

The API is actually very powerful, it takes a little effort to learn,
but you can go very far with it.
For example, I've implemented the ramaze binary using optparse so i
can actually handle subcommands without code duplication:
http://github.com/manveru/ramaze/blob/modular-bin/lib/ramaze/bin.rb
http://github.com/manveru/ramaze/blob/modular-bin/lib/ramaze/bin/start.rb
http://github.com/manveru/ramaze/blob/modular-bin/lib/ramaze/bin/stop.rb

> 6. I like for my help pages to be wrapped nicely, e.g.
>
> =C2=A0Options:
> =C2=A0 =C2=A0 --delete, -d: =C2=A0 Delete everything
> =C2=A0 =C2=A0--restore, -r: =C2=A0 Restore everything. Of course this doe=
sn't actually
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 wor=
k. What's gone is gone. But it might make the user
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fee=
l hopeful for a second, and, after all, isn't that
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 val=
uable in and of itself? (default: true)
> =C2=A0 =C2=A0 =C2=A0 --help, -h: =C2=A0 Show this message
>
> Optparse just makes a big blob.

Formatting can be controlled when initializing:
http://github.com/ruby/ruby/blob/trunk/lib/optparse.rb#L784-791
And it can be even more controlled when you do the actual output:
http://github.com/ruby/ruby/blob/trunk/lib/optparse.rb#L359-371

Not that I ever cared about that, I don't even understand what you
mean with big blob,
just pointing out it might be possible to get your preferred formatting too=
 :)

> That's all I can think of now...

Thanks.

--=20
Michael Fellinger
CTO, The Rubyists, LLC

In This Thread

Prev Next