Method proposition


#1

hi all,
what do you think of these methods:

class TrueClass
def switch
false
end
end

class FalseClass
def switch
true
end
end

i think i could find some real use for this, though switch! would
probably
be even more useful…
greetings, Dirk.


#2

Hi –

On Sun, 22 Jan 2006, Dirk M. wrote:

def switch
true
end
end

i think i could find some real use for this, though switch! would probably
be even more useful…

You don’t like “not”? :slight_smile:

What would switch! do?

David


David A. Black
removed_email_address@domain.invalid

“Ruby for Rails”, from Manning Publications, coming April 2006!


#3

hi,

You don’t like “not”? :slight_smile:

hmm… guess i missed that :wink:

What would switch! do?

switch! would change self

greetings, Dirk.


#4

hi again,

foobar=true
foobar=not(foobar)
doesn’t seem to work, while i can see purpose in that,

light_switch=false
light_switch.switch if dark==true


#5

On 1/21/06, removed_email_address@domain.invalid removed_email_address@domain.invalid wrote:

end

You don’t like “not”? :slight_smile:

What would switch! do?

True would become False. False would become True… Human sacrifice,
dogs and cats living together - mass hysteria!


#6

Hi –

On Sun, 22 Jan 2006, Dirk M. wrote:

switch! would change self
So:

true.switch!
1 == 1 # false

?

David


David A. Black
removed_email_address@domain.invalid

“Ruby for Rails”, from Manning Publications, coming April 2006!


#7

er, the global value ‘true’ is the only instance of TrueClass. so,
doing true.switch! would make true become false?

So then,
if 1 == 1
puts “hi”
end

Wouldn’t print anything?

that, on second thought, probably wouldn’t work, and the following would
have to be used:

light_switch=false
light_switch=light_switch.switch if dark==true


#8

On 1/21/06, Dirk M. removed_email_address@domain.invalid wrote:

switch! would change self
er, the global value ‘true’ is the only instance of TrueClass. so,
doing true.switch! would make true become false?

So then,
if 1 == 1
puts “hi”
end

Wouldn’t print anything?

(I wouldn’t want to maintain your programs :slight_smile:


#9

On 2006.01.22 04:31, Dirk M. wrote:

that, on second thought, probably wouldn’t work, and the following would
have to be used:

light_switch=false
light_switch=light_switch.switch if dark==true

I think here is where a Symbol would be most fitting :wink:

light_switch = :off
light_switch = :on if dark?

E


#10

On 21 Jan 2006, at 19:42, Eero S. wrote:

I think here is where a Symbol would be most fitting :wink:

light_switch = :off
light_switch = :on if dark?

I’d just like to point out that this now makes it 4 Ruby programmers
needed to change a lightbulb (or at least turn it on) so far in this
thread. Would anybody like to take a guess at how many it would have
taken in other languages?


#11

Eero S. wrote:

Wouldn’t print anything?

light_switch = :off
light_switch = :on if dark?

I don’t get it…

light_switch = dark

should be the same as

light_switch=false
light_switch=light_switch.switch if dark==true

right? (and please don’t compare to ‘true’ if something is true, it
is already true, comparing it with true doesn’t change that - never)

also

light_switch = !light_switch

should ‘switch’ the switch, right?

puzzled, or did i missed the joke?

Simon


#12

Hi –

On Sun, 22 Jan 2006, Dirk M. wrote:

hi again,

foobar=true
foobar=not(foobar)
doesn’t seem to work, while i can see purpose in that,

You would do:

x = (not x)

or

x = !x

David


David A. Black
removed_email_address@domain.invalid

“Ruby for Rails”, from Manning Publications, coming April 2006!


#13

removed_email_address@domain.invalid writes:

You would do:

x = (not x)

Is it just me, or does the precedence of “not” horribly suck? :wink: