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 P.'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/arith.html
martin
On Sat, Feb 23, 2008 at 6:44 PM, Martin DeMello
[email protected] wrote:
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/arith.html
Good work, but may i point out that ‘if’ is no method?
^ manveru
On Sat, Feb 23, 2008 at 1:56 AM, Michael F.
[email protected] wrote:
http://zem.novylen.net/ruby/tutorial/arithmetic-quiz/arith.html
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
On Sat, Feb 23, 2008 at 10:44 AM, Martin DeMello
[email protected] wrote:
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/arith.html
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.blogspot.com/
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein
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 Chriss 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. Ill have to do now I
ve just enrolled on the
online Ruby course run by Satish.
Cheers
Steve
On Sat, Feb 23, 2008 at 3:44 AM, Robert D. [email protected]
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
On Sat, Feb 23, 2008 at 9:59 PM, Martin DeMello
[email protected] wrote:
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.blogspot.com/
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein
Robert D. wrote:
The entry-level program is an arithmetic tutor; the reader is assumed
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.
On Sun, Feb 24, 2008 at 05:59:46AM +0900, Martin DeMello wrote:
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.
On Tue, Feb 26, 2008 at 9:38 PM, Chad P. [email protected]
wrote:
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.
Good point. I’ll make the change.
martin
On Sat, Feb 23, 2008 at 10:24 PM, Joel VanderWerf
[email protected] wrote:
etc.
$ grep function *.h
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.blogspot.com/
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein