format an integer

M

Me Me

Hi,
this is a pretty silly question but I cannot figure it how to do.
I need to format an integer in order to have always two digits:

ex:
1 => 01
22 => 22

How can I do that in the shortest way possible?
Thanks in advance
 
M

Matthew Moss

Hi,
this is a pretty silly question but I cannot figure it how to do.
I need to format an integer in order to have always two digits:

ex:
1 => 01
22 => 22

How can I do that in the shortest way possible?
Thanks in advance


"%02d" % num
 
D

Daniel Malcolm Webb [dbw]

Q_txt =3D res_q[0][1]
(0..10).each do |qt|
question_text =3D q_txt.scan(/\w+/)[qt]
end

when I access question_text after, obviously it's out of scope what am I
missing here?



Kind Regards,
Dan
 
D

David A. Black

Hi --

Q_txt = res_q[0][1]
(0..10).each do |qt|
question_text = q_txt.scan(/\w+/)[qt]
end

when I access question_text after, obviously it's out of scope what am I
missing here?

Blocks have a kind of one-way valve local scope. Variables that
already exist before the block will exist in the block. Variables that
are created in the block do not survive past the block.


David

--
Rails training from David A. Black and Ruby Power and Light:
Intro to Ruby on Rails January 12-15 Fort Lauderdale, FL
Advancing with Rails January 19-22 Fort Lauderdale, FL *
* Co-taught with Patrick Ewing!
See http://www.rubypal.com for details and updates!
 
T

The Higgs bozo

David said:
Q_txt = res_q[0][1]
(0..10).each do |qt|
question_text = q_txt.scan(/\w+/)[qt]
end

when I access question_text after, obviously it's out of scope what am I
missing here?

Blocks have a kind of one-way valve local scope. Variables that
already exist before the block will exist in the block. Variables that
are created in the block do not survive past the block.

This is one reason I prefer {...} instead of do...end for blocks, since
for me the curly braces shout "new scope". while...end, for...end,
until...end, if...end, unless...end do not introduce new scopes, yet
do...end does.

Though class...end, module...end, def...end also give new scopes, there
is little room for confusion because those are not control structures.
 
R

Robert Klemme

2008/10/27 David A. Black said:
Hi --

Q_txt = res_q[0][1]
(0..10).each do |qt|
question_text = q_txt.scan(/\w+/)[qt]
end

when I access question_text after, obviously it's out of scope what am I
missing here?

Not what you asked for, but: "Q_txt" != "q_txt". Also, you should do
the scan only once - this is more efficient:

texts = res_q[0][1].scan(/\w+/)
texts.each_with_index do |question_text, qt|
...
end
Blocks have a kind of one-way valve local scope. Variables that
already exist before the block will exist in the block. Variables that
are created in the block do not survive past the block.

Which is basically the same in many modern programming languages,
isn't it? Of course, there are some subtleties (e.g. whether
shadowing of more local definitions is allowed etc.).

Kind regards

robert
 
D

Daniel Malcolm Webb [dbw]

Thanks Robert,=20

eventually managed another work around similar to yours. The Q/q was
indeed a typo that didn't make it into the final code. Help is
appreciated though :)

Kind Regards,
Dan

-----Original Message-----
From: Robert Klemme [mailto:[email protected]]=20
Sent: 28 October 2008 13:32
To: ruby-talk ML
Subject: Re: Quick Scope Question

2008/10/27 David A. Black said:
Hi --

Q_txt =3D res_q[0][1]
(0..10).each do |qt|
question_text =3D q_txt.scan(/\w+/)[qt]
end

when I access question_text after, obviously it's out of scope what am I
missing here?

Not what you asked for, but: "Q_txt" !=3D "q_txt". Also, you should do
the scan only once - this is more efficient:

texts =3D res_q[0][1].scan(/\w+/)
texts.each_with_index do |question_text, qt|
...
end
Blocks have a kind of one-way valve local scope. Variables that
already exist before the block will exist in the block. Variables that
are created in the block do not survive past the block.

Which is basically the same in many modern programming languages,
isn't it? Of course, there are some subtleties (e.g. whether
shadowing of more local definitions is allowed etc.).

Kind regards

robert

--=20
remember.guy do |as, often| as.you_can - without end
 
J

Joel VanderWerf

Robert said:
2008/10/27 David A. Black <[email protected]>: ...

Which is basically the same in many modern programming languages,
isn't it? Of course, there are some subtleties (e.g. whether
shadowing of more local definitions is allowed etc.).

That rules out javascript as modern. Grrr.
 

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
474,197
Messages
2,571,040
Members
47,634
Latest member
RonnyBoelk

Latest Threads

Top