Hi, I have a quick question: How can I increase a valuable by a certain
decimal (not an integer) in a for loop?
For example, in C,
for( i = 0; i < 0.5; i += 0.1 )
printf( "%f ", i );
the code above returns
0.0 0.1 0.2 0.3 0.4
How can I write this in Ruby?
Thanks,
Nathan
ps I looked in several Ruby tutorials, but couldn’t find any example
using a decimal. . . Should I use another loop syntax like ‘loop’ or
‘while/until’?
On Sat, Jan 09, 2010 at 04:04:43PM +0900, Nathan O. wrote:
0.0 0.1 0.2 0.3 0.4
How can I write this in Ruby?
Thanks,
Nathan
ps I looked in several Ruby tutorials, but couldn’t find any example
using a decimal. . . Should I use another loop syntax like ‘loop’ or
‘while/until’?
while or until would both work. I can think of three ways off the top
of my head:
(0..0.4).step(0.1) do |f|
p f
end
x = 0
while x < 0.5 do
p x
x += 0.1
end
x = 0
until x > 0.4
p x
x += 0.1
end
x = 0
while x < 0.5 do
p x
x += 0.1
end
x = 0
until x > 0.4
p x
x += 0.1
end
Yes, it is, but it looks badly long. . . As I program in Ruby, I want to
write a code as clearly as possible.
Anyway, thanks a lot for your help, Aaron. Your suggestion makes another
question, so please see the new thread ‘Ruby editing style rules and
recommendation?’
Nor does it print that (remember, “for” loops have no “return value” in
C).
It might print “0.000000 0.100000 …”.
ps I looked in several Ruby tutorials, but couldn’t find any example
using a decimal. . . Should I use another loop syntax like ‘loop’ or
‘while/until’?
Usually, this is not the right way to do it, but you might be able to
do something like this using one of the upto-like methods, I think
it might be called “step”.
-s
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.