Can anyone give a an example of this please

K

Kaye Ng

"code blocks may accept none, one, or more parameters"

I understand how ONE parameter is passed using the 'each' method.
I also understand how TWO parameters is passed, like in this code
x = { "a" => 100, "b" => 20 }
x.delete_if { |key, value| value < 25 }
p x

Can anyone give me a very simple and executable code where:
NO parameters is passed, and
THREE parameters is passed

SIMPLE CODE/SYNTAX ONLY PLEASE, BEGINNER HERE. =D

Thanks so much.
 
P

Phillip Gawlowski

"code blocks may accept none, one, or more parameters"

I understand how ONE parameter is passed using the 'each' method.
I also understand how TWO parameters is passed, like in this code
x = { "a" => 100, "b" => 20 }
x.delete_if { |key, value| value < 25 }
p x

Can anyone give me a very simple and executable code where:
NO parameters is passed, and

irb(main):001:0> [0,1,2,3].each { puts "no param" }
no param
no param
no param
no param
=> [0, 1, 2, 3]
THREE parameters is passed

irb(main):002:0> [ [ 1,2,3 ] ].each { |i,j,k| puts i+j+k }
6
=> [[1, 2, 3]]


Ruby version is 1.9.1
SIMPLE CODE/SYNTAX ONLY PLEASE, BEGINNER HERE. =D

Was this simple enough? :)

--
Phillip Gawlowski

Though the folk I have met,
(Ah, how soon!) they forget
When I've moved on to some other place,
There may be one or two,
When I've played and passed through,
Who'll remember my song or my face.
 
R

Robert Klemme

"code blocks may accept none, one, or more parameters"

I understand how ONE parameter is passed using the 'each' method.
I also understand how TWO parameters is passed, like in this code
x = { "a" => 100, "b" => 20 }
x.delete_if { |key, value| value < 25 }
p x

Can anyone give me a very simple and executable code where:
NO parameters is passed, and
THREE parameters is passed

14:14:24 ~$ ruby19 <<CODE
def none; yield; end
def one; yield 1; end
def three; yield 1,2,3; end
none { puts "called" }
one {|x| puts "Got one: #{x}"}
three {|a,b,c| puts "Got three: #{a}, #{b}, #{c}"}
three {|a| p a}
three {|*a| p a}
CODE
called
Got one: 1
Got three: 1, 2, 3
1
[1, 2, 3]
14:15:44 ~$
SIMPLE CODE/SYNTAX ONLY PLEASE, BEGINNER HERE. =D

Please do not shout.

robert
 
R

Robert Klemme

"code blocks may accept none, one, or more parameters"

I understand how ONE parameter is passed using the 'each' method.
I also understand how TWO parameters is passed, like in this code
x = { "a" => 100, "b" => 20 }
x.delete_if { |key, value| value < 25 }
p x

Can anyone give me a very simple and executable code where:
NO parameters is passed, and

irb(main):001:0> [0,1,2,3].each { puts "no param" }
no param
no param
no param
no param
=> [0, 1, 2, 3]

There is _one_ parameter passed - you just do not pick it up in the block.

Kind regards

robert
 
P

Phillip Gawlowski

irb(main):001:0> [0,1,2,3].each { puts "no param" }
no param
no param
no param
no param
=> [0, 1, 2, 3]

There is _one_ parameter passed - you just do not pick it up in the block.

Ah, then I misunderstood the question, I guess, thinking that the OP
wanted an example of a block without a parameter enclosed in ||,
analogus to the |key,value| pair in the OP's example.

Though, do you count the array index passed into the #each block as a
parameter, or not?

--
Phillip Gawlowski

Though the folk I have met,
(Ah, how soon!) they forget
When I've moved on to some other place,
There may be one or two,
When I've played and passed through,
Who'll remember my song or my face.
 
R

Robert Klemme

irb(main):001:0> [0,1,2,3].each { puts "no param" }
no param
no param
no param
no param
=> [0, 1, 2, 3]

There is _one_ parameter passed - you just do not pick it up in the block.

Ah, then I misunderstood the question, I guess, thinking that the OP
wanted an example of a block without a parameter enclosed in ||,
analogus to the |key,value| pair in the OP's example.

Actually I am not sure what the OP *really* wanted either. :) I just
wanted to point out that the parameter is actually passed (which you
can see if you add a formal parameter to the block) but that the block
does not use it.
Though, do you count the array index passed into the #each block as a
parameter, or not?

The index is only passed with #each_index. And yes, of course it is a
parameter.

Kind regards

robert
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top