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
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
On Oct 27, 2008, at 10:11 AM, Me Me wrote:
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 => 22How can I do that in the shortest way possible?
Thanks in advance
“%02d” % num
“%02d” % num
Thanks
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?
Kind Regards,
Dan
David A. Black wrote:
On Tue, 28 Oct 2008, Daniel Malcolm Webb [dbw] wrote:
Q_txt = res_q[0][1]
(0…10).each do |qt|
question_text = q_txt.scan(/\w+/)[qt]
endwhen 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.
Hi –
On Tue, 28 Oct 2008, Daniel Malcolm Webb [dbw] wrote:
Q_txt = res_q[0][1]
(0…10).each do |qt|
question_text = q_txt.scan(/\w+/)[qt]
endwhen 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
2008/10/27 David A. Black [email protected]:
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
Robert K. wrote:
2008/10/27 David A. Black [email protected]:
…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.).
That rules out javascript as modern. Grrr.
Thanks Robert,
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
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs