[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

ANN: Teach yourself Ruby - the hard way!

Martin DeMello

2/23/2008 9:45:00 AM

A frequent question from Ruby newcomers is "Okay, I've read the
tutorials - now what?". To that end, I'm putting together a series of
tutorials, each of which leads the student step by step through the
construction of a complete ruby program. There are no answers and no
explanations provided - rather, each question is followed by a hint
containing relevant topics to be looked up in the Pickaxe, on Google,
etc.

The entry-level program is an arithmetic tutor; the reader is assumed
to have worked their way through Chris Pine's tutorial, and have a
copy of the docs handy. (Later programs will assume that the reader
has done the previous ones). Here's the first, tentative draft -
comments and suggestions welcomed.

http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/...

martin

11 Answers

Michael Fellinger

2/23/2008 9:56:00 AM

0

On Sat, Feb 23, 2008 at 6:44 PM, Martin DeMello <martindemello@gmail.com> wrote:
> A frequent question from Ruby newcomers is "Okay, I've read the
> tutorials - now what?". To that end, I'm putting together a series of
> tutorials, each of which leads the student step by step through the
> construction of a complete ruby program. There are no answers and no
> explanations provided - rather, each question is followed by a hint
> containing relevant topics to be looked up in the Pickaxe, on Google,
> etc.
>
> The entry-level program is an arithmetic tutor; the reader is assumed
> to have worked their way through Chris Pine's tutorial, and have a
> copy of the docs handy. (Later programs will assume that the reader
> has done the previous ones). Here's the first, tentative draft -
> comments and suggestions welcomed.
>
> http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/...

Good work, but may i point out that 'if' is no method?

^ manveru

Martin DeMello

2/23/2008 10:08:00 AM

0

On Sat, Feb 23, 2008 at 1:56 AM, Michael Fellinger
<m.fellinger@gmail.com> wrote:

> > http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/...
>
> Good work, but may i point out that 'if' is no method?

Yeah, right now I'm using # as a placeholder for a css class that will
cover both methods and keywords - basically, things to look up
directly in the documentation/pickaxe index, rather than more general
concepts to google for.

martin

Vitillo Roberto

2/23/2008 10:35:00 AM

0

Nice work, Martin ;)

Robert Dober

2/23/2008 11:44:00 AM

0

On Sat, Feb 23, 2008 at 10:44 AM, Martin DeMello
<martindemello@gmail.com> wrote:
> A frequent question from Ruby newcomers is "Okay, I've read the
> tutorials - now what?". To that end, I'm putting together a series of
> tutorials, each of which leads the student step by step through the
> construction of a complete ruby program. There are no answers and no
> explanations provided - rather, each question is followed by a hint
> containing relevant topics to be looked up in the Pickaxe, on Google,
> etc.
>
> The entry-level program is an arithmetic tutor; the reader is assumed
> to have worked their way through Chris Pine's tutorial, and have a
> copy of the docs handy. (Later programs will assume that the reader
> has done the previous ones). Here's the first, tentative draft -
> comments and suggestions welcomed.
>
> http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/...
>
> martin
>
>

Nice work Martin, I suggest however that you do a
gsub("function","method") on your text, there are just no functions in
Ruby.
What do you think?
Cheers
Robert

--
http://ruby-smalltalk.blo...

---
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein

Steve

2/23/2008 12:37:00 PM

0

Thanks for putting in the time and effort for that Martin.
I am very much a new to Ruby and found that Chris uses version 1.8.2
version of Ruby which has given me a few problems as the instructions
in Chris`s book don`t correspond to the latest (186.25?) version I
have and it seems 1.8.2 is not now available. Guys on the forum have
been very helpful with their suggestions but I was a bit concerned at
failing at the very first prog I started ;-(.
I shall persevere. I`ll have to do now I`ve just enrolled on the
online Ruby course run by Satish.
Cheers
Steve

Martin DeMello

2/23/2008 9:00:00 PM

0

On Sat, Feb 23, 2008 at 3:44 AM, Robert Dober <robert.dober@gmail.com> wrote:
>
> Nice work Martin, I suggest however that you do a
> gsub("function","method") on your text, there are just no functions in
> Ruby.
> What do you think?

I did think about that, and deliberately decided to go with
'function', since from a newbie perspective toplevel methods *are*
functions.

Pros: Clear, conceptually simple to understand, a useful and
for-the-moment accurate model of what's happening
Cons: Technically incorrect, but to explain the difference would delve
into ruby's object model a bit too soon.

martin

Joel VanderWerf

2/23/2008 9:25:00 PM

0

Robert Dober wrote:
> On Sat, Feb 23, 2008 at 10:44 AM, Martin DeMello
> <martindemello@gmail.com> wrote:
>> A frequent question from Ruby newcomers is "Okay, I've read the
>> tutorials - now what?". To that end, I'm putting together a series of
>> tutorials, each of which leads the student step by step through the
>> construction of a complete ruby program. There are no answers and no
>> explanations provided - rather, each question is followed by a hint
>> containing relevant topics to be looked up in the Pickaxe, on Google,
>> etc.
>>
>> The entry-level program is an arithmetic tutor; the reader is assumed
>> to have worked their way through Chris Pine's tutorial, and have a
>> copy of the docs handy. (Later programs will assume that the reader
>> has done the previous ones). Here's the first, tentative draft -
>> comments and suggestions welcomed.
>>
>> http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/...
>>
>> martin
>>
>>
>
> Nice work Martin, I suggest however that you do a
> gsub("function","method") on your text, there are just no functions in
> Ruby.
> What do you think?
> Cheers
> Robert
>

$ grep function *.h
ruby.h:void rb_define_module_function _((VALUE,const
char*,VALUE(*)(ANYARGS),int));
ruby.h:void rb_define_global_function _((const
char*,VALUE(*)(ANYARGS),int));

It looks like the functions in the tutorial are the global kind.

Dunno if that term is deprecated and used only for historical reasons,
though.

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Robert Dober

2/24/2008 11:12:00 AM

0

On Sat, Feb 23, 2008 at 9:59 PM, Martin DeMello <martindemello@gmail.com> wrote:
> On Sat, Feb 23, 2008 at 3:44 AM, Robert Dober <robert.dober@gmail.com> wrote:
> >
> > Nice work Martin, I suggest however that you do a
> > gsub("function","method") on your text, there are just no functions in
> > Ruby.
> > What do you think?
>
> I did think about that, and deliberately decided to go with
> 'function', since from a newbie perspective toplevel methods *are*
> functions.
>
> Pros: Clear, conceptually simple to understand, a useful and
> for-the-moment accurate model of what's happening
> Cons: Technically incorrect, but to explain the difference would delve
> into ruby's object model a bit too soon.
>
> martin
>
>
Ok I see, I thought it was more an oversight, sorry for wasting your time
R.



--
http://ruby-smalltalk.blo...

---
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein

Robert Dober

2/24/2008 11:18:00 AM

0

On Sat, Feb 23, 2008 at 10:24 PM, Joel VanderWerf
<vjoel@path.berkeley.edu> wrote:
>
> Robert Dober wrote:
> > On Sat, Feb 23, 2008 at 10:44 AM, Martin DeMello
> > <martindemello@gmail.com> wrote:
> >> A frequent question from Ruby newcomers is "Okay, I've read the
> >> tutorials - now what?". To that end, I'm putting together a series of
> >> tutorials, each of which leads the student step by step through the
> >> construction of a complete ruby program. There are no answers and no
> >> explanations provided - rather, each question is followed by a hint
> >> containing relevant topics to be looked up in the Pickaxe, on Google,
> >> etc.
> >>
> >> The entry-level program is an arithmetic tutor; the reader is assumed
> >> to have worked their way through Chris Pine's tutorial, and have a
> >> copy of the docs handy. (Later programs will assume that the reader
> >> has done the previous ones). Here's the first, tentative draft -
> >> comments and suggestions welcomed.
> >>
> >> http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/...
> >>
> >> martin
> >>
> >>
> >
> > Nice work Martin, I suggest however that you do a
> > gsub("function","method") on your text, there are just no functions in
> > Ruby.
> > What do you think?
> > Cheers
> > Robert
> >
>
> $ grep function *.h
> ruby.h:void rb_define_module_function _((VALUE,const
> char*,VALUE(*)(ANYARGS),int));
> ruby.h:void rb_define_global_function _((const
> char*,VALUE(*)(ANYARGS),int));
>
> It looks like the functions in the tutorial are the global kind.
>
> Dunno if that term is deprecated and used only for historical reasons,
> though.
>
> --
> vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407
>
>
Worse there is even module_function, I hate it. But I think that the
community uses method almost exclusively.
Strange that I never complained about #module_function, it made it
even into 1.9 brrrr.

Cheers
Robert


--
http://ruby-smalltalk.blo...

---
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein

Chad Perrin

2/27/2008 5:38:00 AM

0

On Sun, Feb 24, 2008 at 05:59:46AM +0900, Martin DeMello wrote:
> On Sat, Feb 23, 2008 at 3:44 AM, Robert Dober <robert.dober@gmail.com> wrote:
> >
> > Nice work Martin, I suggest however that you do a
> > gsub("function","method") on your text, there are just no functions in
> > Ruby.
> > What do you think?
>
> I did think about that, and deliberately decided to go with
> 'function', since from a newbie perspective toplevel methods *are*
> functions.
>
> Pros: Clear, conceptually simple to understand, a useful and
> for-the-moment accurate model of what's happening
> Cons: Technically incorrect, but to explain the difference would delve
> into ruby's object model a bit too soon.

There's a middle road: Mention briefly that they're called "methods",
even if they fill the same role as "functions" in many other languages,
and leave it at that.

--
CCD CopyWrite Chad Perrin [ http://ccd.ap... ]
W. Somerset Maugham: "The ability to quote is a serviceable substitute for
wit."