2010-06-24 7 views
1

Как это заявление работает?if statement in ruby ​​

if not a==b 
    puts "amit" 
else 
    puts "ramit" 
end 

Может кто-нибудь сказать мне использование not оператора здесь?

+1

Для правильного форматирования кода пронумеруйте его на 4 пробела или используйте кнопку кода на панели инструментов, чтобы сделать это. В противном случае код отображает все в одной строке, как сейчас (что в данном случае делает его похожим на синтаксическую ошибку, так как разрывы строк здесь не являются необязательными). – sepp2k

+0

, если вы просто выделите свой код и нажмите «контрольный ключ» и букву «K» вместе, он автоматически отступит от него для вас. – stephenmurdoch

ответ

2

См. Здесь Ruby Logical Operators для обсуждения.

not a==b такой же, как !(a==b), оба они приемлемы.

+0

step i did nt get what u написал, если вы просто выделите свой код и нажмите «контрольный ключ» и букву «K» вместе, он автоматически отстутнет для вас, что это значит –

3

if not a==b равно if !(a==b), if a!=b, unless a==b или unless not a!=b

Если вы не знаете, это я бы рекомендовал читать "The Обоснованно Rubyist" от David A. Black

+0

'if! (A! = B)' это неправильно. Вы имели в виду 'if! (A == b)'. – sepp2k

+0

@ sepp2k: Конечно, спасибо! – jigfox

+0

'if! (A == b)' также неверно. –

3

A == B возвращает true, если они равны.

не оператор инвертирует ответа, так:

не == б возвращает истину, если они не равны.