False


#1

I guess I don’t understand the concept of false. I wanted to set flag in
my script manually. At first I

flag = true

and all was well. later I ran a test
if flag

But when I set the flag to false (flag=false), the script doesn’t work
correctly. If test before the “if flag” don’t evaluate correctly.

Work around is easy enough, just use a string or number for the
variable.

But I think I’m missing something fundamental here. As you may have
already guessed, I don’t have a programming background.

Thanks


#2

I think something else is going on. Even if I use a string, the script
doesn’t work with my equivalent of false. I need to recheck the logic.


#3

12 34 wrote:

I think something else is going on. Even if I use a string, the script
doesn’t work with my equivalent of false. I need to recheck the logic.

What’s your code?


#4

False and if are probably as simple as you think they are…

irb(main):001:0> foo = false
=> false
irb(main):002:0> if foo; puts “I’m foo!”; end
=> nil
irb(main):003:0> foo = true
=> true
irb(main):004:0> if foo; puts “I’m foo!”; end
I’m foo!
=> nil
irb(main):005:0>

Chances are you’re doing something else wrong… What does, “The
script
doesn’t work correctly” mean? Is an exception thrown, are you getting
incorrect results?

Code samples are also helpful.

MBL


#5

Cliff R. wrote:

12 34 wrote:

I think something else is going on. Even if I use a string, the script
doesn’t work with my equivalent of false. I need to recheck the logic.

What’s your code?

What had happened was that things that were supposed to happen in the
script weren’t because my memory card was off line. (The first responded
didn’t see my CORRECTION, and he was correct in assuming something else
was wrong). Being new to Ruby I was surprised that the missing card
(which needed to be read) didn’t cause an error. After the first posting
I simplified the problem and realized it wasn’t the false that was
causing the problem. Later I sorted out what was really going on.

Thanks for responding.