[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:11554] Re: Parentheses around method arguments

From: Aleksi Niemel<zak@...>
Date: 2001-02-25 22:37:52 UTC
List: ruby-talk #11554
On Sat, 24 Feb 2001, Robert Gustavsson wrote:

Hi Rob,

> if( (true == fExpression) && (true == fInHeader) )
> 

One note I'd like to give is that I read the topmost better as

    if fExpression and fInHeader

and in Ruby everything is true except nil and false, so there's no
need to show it explicitly. In C it might be helpful to note if you
might get an integer back or if it's a boolean you're expecting. In
Ruby you _have_ to write an integer comparison like

    if fExpression == 1

otherwise code like 

    fExpression = 0
    puts "surprise" if fExpression

will surprise.


But even bigger point is that most of the time you find yourself in
need of explicit parentheses your code is screaming for
simplification and self documentation.

> if( (strOutput =~ /^\s*'/) and (0 == indentLevel) )

When I write code like this I feel I'm sure of precedence etc. If I'm
unsure even a bit I know that I should be writing more like:

  strOutputIndented = /^\s*'/.match(strOutput)
  indented = indentLevel == 0
  if strOutputIndented and indented

(An overkill solution for this case but shows the idea.) This code is
nicely waiting for simple refactoring of transforming the temporary
boolean variables into method calls; and hopefully the method names
carry the meaning.

> Any thoughts, suggestions, experience (bad and/or good) on this issue would
> be appreciated.

Parentheses are not that often needed. When you have much of them you
know the code would like to get written in multiple lines or maybe
would like to document itself by using good method names. (Smaller
methods are also easier to test. :)

But as all the "rules" these are there just to be broken. Just do it
consciously.

    - Aleksi

In This Thread

Prev Next