Comment initialisez-vous les variables dans Ruby?
Est-il des différences entre les manières suivantes d'initialisation de variables?
@var ||= []
@var = [] if @var.nil?
@var = @var || []
S'il vous plaît partager votre façon de l'initialisation d'une variable et de l'état, les pros & cons.
source d'informationauteur PeterWong
Vous devez vous connecter pour publier un commentaire.
@var ||= []
et@var = @var || []
sont à égalité, il sera mis envar
à[]
si c'estfalse
ounil
@var = [] if @var.nil?
plus spécifique sera ré-définivar
à[]
seulement si elle est égale ànil
Si vous avez des avertissements sur (et vous devriez!),
@var ||= []
se comporte différemment à@var = @var || []
:Si vous souhaitez vérifier si
@var
est définie ou non, et vous êtes heureux si elle estnil
oufalse
vous pouvez utiliserCela ne fonctionne pas avec les variables locales même si, comme indiqué dans En Ruby, pourquoi ne pas
foo = vrai, à moins que défini?(foo)
procéder à la cession?