[#8566] Visions for 2001/1.7.x development? — Robert Feldt <feldt@...>

Hi matz and other Ruby developers,

18 messages 2001/01/03
[#8645] Re: Visions for 2001/1.7.x development? — matz@... (Yukihiro Matsumoto) 2001/01/04

Hi,

[#8580] bug?? — jmichel@... (Jean Michel)

I don't understand the following behaviour:

19 messages 2001/01/03

[#8633] Interesting Language performance comparisons - Ruby, OCAML etc — "g forever" <g24ever@...>

13 messages 2001/01/04

[#8774] No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...>

So, why not include Comparable in Array by default? It shouldn't have any

28 messages 2001/01/07
[#8779] Re: No :<, :>, etc. methods for Array — matz@... (Yukihiro Matsumoto) 2001/01/07

Hi,

[#8780] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

matz@zetabits.com (Yukihiro Matsumoto) wrote:

[#8781] Re: No :<, :>, etc. methods for Array — gotoken@... (GOTO Kentaro) 2001/01/07

In message "[ruby-talk:8780] Re: No :<, :>, etc. methods for Array"

[#8782] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote:

[#8829] Sandbox (again) — wys@... (Clemens Wyss)

Hi,

20 messages 2001/01/08
[#8864] Re: Sandbox (again) — Clemens Hintze <c.hintze@...> 2001/01/08

On 8 Jan, Clemens Wyss wrote:

[#8931] String confusion — Anders Bengtsson <ndrsbngtssn@...>

Hello everyone,

21 messages 2001/01/09
[#8937] Re: String confusion — matz@... (Yukihiro Matsumoto) 2001/01/09

Hi,

[#8953] Please remove account from files — "Thomas Daniels" <westernporter@...>

Please take my e-mail address from your files and "CANCEL" my =

14 messages 2001/01/09
[#8983] Re: Please remove account from files — John Rubinubi <rubinubi@...> 2001/01/10

On Wed, 10 Jan 2001, Thomas Daniels wrote:

[#9020] time to divide -talk? (was: Please remove account from files) — Yasushi Shoji <yashi@...> 2001/01/10

At Wed, 10 Jan 2001 14:23:30 +0900,

[#9047] Re: time to divide -talk? (was: Please remov e account from files) — Aleksi Niemel<aleksi.niemela@...>

Yasushi Shoji:

27 messages 2001/01/10
[#9049] Re: time to divide -talk? — Yasushi Shoji <yashi@...> 2001/01/10

At Thu, 11 Jan 2001 00:20:45 +0900,

[#9153] what about this begin? — Anders Strandl Elkj誡 <ase@...> 2001/01/11

[#9195] Re: Redefining singleton methods — ts <decoux@...>

>>>>> "H" == Horst Duch=EAne?= <iso-8859-1> writes:

10 messages 2001/01/12

[#9242] polymorphism — Maurice Szmurlo <maurice@...>

hello

73 messages 2001/01/13

[#9279] Can ruby replace php? — Jim Freeze <jim@...>

When I read that ruby could be used to replace PHP I got really

15 messages 2001/01/14

[#9411] The Ruby Way — "Conrad Schneiker" <schneiker@...>

As a member of the "Big 8" newsgroups, "The Ruby Way" (of posting) is to

15 messages 2001/01/17

[#9462] Re: reading an entire file as a string — ts <decoux@...>

>>>>> "R" == Raja S <raja@cs.indiana.edu> writes:

35 messages 2001/01/17
[#9465] Re: reading an entire file as a string — Dave Thomas <Dave@...> 2001/01/17

raja@cs.indiana.edu (Raja S.) writes:

[#9521] Larry Wall INterview — ianm74@...

Larry was interviewed at the Perl/Ruby conference in Koyoto:

20 messages 2001/01/18
[#10583] Re: Larry Wall INterview — "greg strockbine" <gstrock@...> 2001/02/08

Larry Wall's interview is how I found out

[#9610] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>

"Christian" <christians@syd.microforte.com.au> wrote:

13 messages 2001/01/20

[#9761] Re: 101 Misconceptions About Dynamic Languages — ts <decoux@...>

>>>>> "C" == Christoph Rippel <crippel@primenet.com> writes:

16 messages 2001/01/23

[#9792] Ruby 162 installer available — Dave Thomas <Dave@...>

15 messages 2001/01/24

[#9958] Re: Vim syntax files again. — "Conrad Schneiker" <schneik@...>

Hugh Sasse wrote:

14 messages 2001/01/26
[#10065] Re: Vim syntax files again. — Hugh Sasse Staff Elec Eng <hgs@...> 2001/01/29

On Sat, 27 Jan 2001, Conrad Schneiker wrote:

[#9975] line continuation — "David Ruby" <ruby_david@...>

can a ruby statement break into multiple lines?

18 messages 2001/01/27
[#9976] Re: line continuation — Michael Neumann <neumann@...> 2001/01/27

On Sat, 27 Jan 2001, David Ruby wrote:

[#9988] Re: line continuation — harryo@... (Harry Ohlsen) 2001/01/28

>A statement break into mutliple lines if it is not complete,

[ruby-talk:10034] RE: Block formatting (was: line continuation)

From: Aleksi Niemel<aleksi.niemela@...>
Date: 2001-01-28 20:24:52 UTC
List: ruby-talk #10034
Kevin Smith commented Dave Thomas' text:

> >There's another style I;ve seen her which I'm still thinking
> >about. Some folks put the block parameters on their own line:
> >
> >   a.doit {
> >     | name, address |
> >     # ...
> >   }
> >
> >It certainly looks nice, but I can't quite convince myself there's a
> >reason to do it ;-)
> 
> And there's your reason. "Looks nice" is a good 
> thing.

I'm quite sure that we're talking about different emphasis people put to
their code, and we shall end up with "got used to this way of coding"
argumentation, but I'm willing to say couple of more thoughts.

For me the above doesn't look nice, nor better than version where parameters
are on the same row:

  a.doit do |name, address|
    # ...
  end

And I guess most of the people (at least language designers) think in a same
way. If you think how K&R C was written with function definition and
parameters on one line and parameter types on the following lines and
compare that to ANSI C with one line definition you get the idea pretty
quickly. Both are doable, both are readable, but most people find the ANSI
way easier to read and write, and somehow better.

Which reminds me of my early Ruby code. I was so new to the whole block
thinking that I had to use braces (like in Perl) and there was no way to
sort out what was going unless I put the parameters on their own line.
Nowadays it's more cumbersome to split the definition to multiple rows,
which I'd like to do if the definition becomes too long.

Mathieu Bouchard wrote:
> >The lack of spaces emphasises that those elements are all 
> >part of the same chunk as the open brace.

I have about the same idea.

> I use whitespace to make code 
> easier to read, and I just find that putting the 
> | var | on its own line: a) reduces clutter on 
> the do line which is often long already, and b) 
> puts it in a consistent place where I can always 
> find it easily.

I like whitespace for the same reason. But not too much of it. But better
too much than too little.

I agree of your a) case, but would like to comment that it's often better to
make the line shorter than move the definition (it's not possible always).
And the reasoning for the b) case is fine and clear. But for me the
consistent place is right after beginning of the block. Not allowing
expections for the rule, is like requiring that |variable, list| can't ever
be longer than one line.

For me the fact that I have to read two lines just to get the basic idea of
what the block is doing (which object == receiver, does what == method, by
what objects == parameters) is not too much, but too much if one line does
the same.

> Back to the { } vs. do/end question: Although 
> I've considered using { } for single-line blocks, 
> I've decided that { } in Ruby is reserved for 
> hashes. I think I'll use do/end for all blocks, 
> to avoid that ambiguity.

Even though I follow the principle we're been talking about, I have
considered your way too. But I have the opposing reason not to use do..end
for all blocks also:

  list.collect do |element|
    element.tricky_calculation
  end.this_is_not_nice

I can read and accept {..}.with_chaining easily but do..end.with_chaining
doesn't look nice. I've tried to add some whitespace but I can't say it
helps in this case.

	- Aleksi

In This Thread

Prev Next