2016-10-24 7 views
0

ok im eine leeren Variable in Rubyleer Rubin variabel, aber beim Laufen sagt sein nicht leer

mein Code sieht wie folgt zu setzen versucht: Rubin-Test:

name = "" 

if !name 
    puts "name is empty" 
else 
    puts "name is not empty" 
end 

, nachdem ich den typischen tun. rb

es heißt: name ist nicht leer. aber name = "" leer ist:/

Ich weiß nicht, was mache ich falsch :(

+1

'if' check für nicht-'false' und nicht-' nil' –

+0

denken Sie daran: Was ist das "logische nicht" einer leeren Zeichenfolge? –

Antwort

3

"" gilt in einem Booleschen Kontext

nil und false die einzige sind Falsey Werte in Ruby.

könnten Sie tun

if name.empty? 
    puts "name is empty" 
else 
    puts "name is not empty" 
end 

oder

if name == "" 
    puts "name is empty" 
else 
    puts "name is not empty" 
end 
+0

Danke Mann, ich komme aus PHP, wo etwas so zu tun, Sie müssten schreiben: –

+0

mein Vergnügen Herr :) – Ursus

+0

Ich war verwirrt, weil in PHP können Sie tun –

0
name = "" 


if name.empty? 
    puts "name is empty" 
else 
    puts "name is not empty" 
end 

Ausgabe

name is empty 

Sie versuchen die Zeichenfolge zu negieren, die immer falsch sein würde.

Verwandte Themen