![]() Prev |
![]() Contents |
![]() Next |
Ruby user's guide | Nuts and bolts |
This chapter addresses a few practical issues.
Some languages require some kind of punctuation, often a semicolon
(;
), to end each statement in a program. Ruby
instead follows the convention used in shells like sh
and
csh
. Multiple statements on one line must be
separated by semicolons, but they are not required at the end of a
line; a linefeed is treated like a semicolon. If a line ends
with a backslash (\
), the linefeed following it is
ignored; this allows you to have a single logical line that spans
several lines.
Why write comments? Although well written code tends to be self-documenting, it is often helpful to scribble in the margins, and it can be a mistake to believe that others will be able to look at your code and immediately see it the way you do. Besides, for practical purposes, you yourself are a different person within a few days anyway; which of us hasn't gone back to fix or enhance a program after the passage of time and said, I know I wrote this, but what in blazes does it mean?
Some experienced programmers will point out, quite correctly, that contradictory or outdated comments can be worse than none at all. Certainly, comments shouldn't be a substitute for readable code; if your code is unclear, it's probably also buggy. You may find that you need to comment more while you are learning ruby, and then less as you become better at expressing your ideas in simple, elegant, readable code.
Ruby follows a common scripting convention, which is to use a pound
symbol (#
) to denote the start of a comment. Anything
following an unquoted #
, to the end of the line on which it
appears, is ignored by the interpreter.
Also, to facilitate large comment blocks, the ruby interpreter also
ignores anything between a line starting with "=begin
" and
another line starting with "=end
".
#!/usr/bin/env ruby =begin ********************************************************************** This is a comment block, something you write for the benefit of human readers (including yourself). The interpreter ignores it. There is no need for a '#' at the start of every line. ********************************************************************** =end |
The ruby interpreter processes code as it reads it. There is nothing like a compilation phase; if something hasn't been read yet, it is