[#6363] Re: rescue clause affecting IO loop behavior — ts <decoux@...>

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

17 messages 2000/11/14
[#6367] Re: rescue clause affecting IO loop behavior — David Alan Black <dblack@...> 2000/11/14

Hello again --

[#6582] best way to interleaf arrays? — David Alan Black <dblack@...>

Hello --

15 messages 2000/11/26

[#6646] RE: Array Intersect (&) question — Aleksi Niemel<aleksi.niemela@...>

Ross asked something about widely known and largely ignored language (on

23 messages 2000/11/29
[#6652] RE: Array Intersect (&) question — rpmohn@... (Ross Mohn) 2000/11/29

aleksi.niemela@cinnober.com (Aleksi Niemel) wrote in

[#6723] Re: Array Intersect (&) question — Mathieu Bouchard <matju@...> 2000/12/01

> >Use a hash. Here's code to do both and more. It assumes that

[#6656] printing/accessing arrays and hashes — raja@... (Raja S.)

I'm coming to Ruby with a Python & Common Lisp background.

24 messages 2000/11/30

[ruby-talk:6339] Re: arity

From: Mathieu Bouchard <matju@...>
Date: 2000-11-14 04:28:48 UTC
List: ruby-talk #6339
> |I discovered the "arity" function in the documentation.  What puzzles
> |me is the non-intuitive values returned by arity.  Why does a block
> |with one argument return -2, but a block with two arguments return 2?
> Try the REAL one argumented closure.
>   proc{|a,|...}.arity
> The one you've tried was EMULATED one argumented closure.

[[1],[2],[3],[4]].collect{|x |x} #=> [[1], [2], [3], [4]]
[[1],[2],[3],[4]].collect{|x,|x} #=> [ 1 ,  2 ,  3 ,  4 ]

I did not know that. I don't think it's obvious from the word "emulated".

I have ruby-man-1.4 and .arity is not documented.

The documentation is not in CVS and I don't know where to get the latest.
This could be a good topic for the FAQ.

def foo(&proc) yield( 1 )     end; foo {|x,y|[x,y]}   #=> [1, nil]
def foo(&proc) yield([1])     end; foo {|x,y|[x,y]}   #=> [1, nil]
def foo(&proc) yield [1]      end; foo {|x,y|[x,y]}   #=> nil

The docs say using yield is much like using multiple assignment...

a = [1]   #=> [1]
a         #=> [1]
a,= [1]   #=> [1]
a         #=>  1

I see now... (i guess this has been discussed previously on this list?)

>       yield `(' [expr [`,' expr...]])

there's a `)' missing in the docs



matju



In This Thread