我正在关注 Ruby 的在线教程,并且我正处于提到真值表以及在继续之前我需要如何学习它们的地步。
有没有简单的方法来学习它们?我只需要了解什么是真假吗?
重要的是理解用于计算真值表的函数。当您了解这些功能时,真值表将是显而易见的。
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
你真的只需要记住你的基本三个,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)
。
一旦你了解了基本的三个,其他任何事情都很容易。
学习 Ruby 不需要真值表,虽然它们并不难,但它们看起来比实际更可怕。
要了解本教程试图教给您的内容,请转到命令行并键入irb
将为您打开一个交互式 Ruby,称为REPL。您可以使用布尔表达式,这只是意味着处理真假的代码:
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
无论他们试图用真值表教你什么,你都可以通过在交互式环境中进行一些实验来学习得更好。
如果您将这些抽象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)