我正在关注Ruby的在线教程,我正在提及真值表以及在继续之前我需要学习它们。
有没有简单的方法来学习它们?我只需要了解真假的构成吗?
答案 0 :(得分:10)
重要的是理解用于计算真值表的函数。当您理解这些函数时,真值表将是显而易见的。
A OR B: Either A or B # cream OR sugar, T if either (or both), F if neither
A AND B: Both A and B # cream AND sugar, T only when the coffee has both
A XOR B: One but not both # T only if sugar but no cream or if cream but no sugar
NOT A: Kind of obvious # NOT sugar, true if the tea has no sugar
A NAND B: NOT (A AND B) # T unless both cream and sugar are in the tea
A NOR B: NOT (A OR B) # T only if there is no sugar and also no cream
答案 1 :(得分:1)
你真的只需要记住你的基本三,OR
,AND
和NOT
,其余的可以从那里计算出来:
(and) (OR) (not)
P Q P&Q P|Q ~P
T T T T F
T F F T T
F T F T
F F F F
XOR
只是(P&Q)|(~(P|Q))
NAND
只是~(P&Q)
。
一旦你理解了基本三,其他任何事情都很容易。
答案 2 :(得分:1)
你不需要真值表来学习Ruby,虽然它们并不那么难,但它们看起来比它们更可怕。
要了解本教程试图教你的内容,请转到命令行并输入irb
,它将为您打开一个交互式Ruby,称为REPL。您可以使用布尔表达式,这意味着处理true和false的代码:
1.9.3-p0 :001 > true || false
=> true
1.9.3-p0 :002 > (true || false) && false
=> false
1.9.3-p0 :003 > false && true
=> false
1.9.3-p0 :004 > false ^ true
=> true
1.9.3-p0 :005 > !true
=> false
1.9.3-p0 :006 > !!true
=> true
1.9.3-p0 :007 > exit
无论他们想用真值表教你什么,你都可以通过在互动环境中进行一些实验来更好地学习。
答案 3 :(得分:0)
如果您将这些抽象的true
和false
值替换为明显的真实和虚假陈述,这可能会有所帮助。
这句话是真的吗?
Sugar is sweet AND grass is blue.
不,这显然是假的。 (T& F = F)
Sugar is sweet OR grass is blue.
是的,那是真的。 (T | F = T)
Sugar is sweet OR 1+1=2
唯一值得学习的是,计算机认为这是真的。 (T | T = T)