2010-09-06 6 views
2

J'ai vu du code Ruby dans lequel il n'y a que deux doubles guillemets ("") sur une ligne. Que fait cette ligne?Que fait "" (deux guillemets doubles) dans Ruby?

+1

Pourriez-vous nous montrer un exemple d'un tel code? Comme le dit JesperE, il renvoie une chaîne vide. Si vous nous donnez un contexte, nous pourrions vous décrire pourquoi vous voudriez une chaîne vide. –

Répondre

5

Je suppose que vous avez peut-être vu un code comme celui-ci.

def some_method 
    #do some operations 
    "" 
end 

Dans ce contexte, cela signifie que la méthode renvoie une chaîne vide. Dans Ruby, la dernière opération évaluée dans une méthode est ce qui est renvoyé à partir de cette méthode. Donc, dans ce cas, il renvoie un littéral de chaîne vide.

+0

Bizarre. Je ne connais pas Ruby, mais on dirait que les lambdas se comportent dans d'autres langues. – mpen

+0

@Mark: Ca m'a d'abord fait bizarre car j'ai utilisé Java pendant de nombreuses années, mais j'ai commencé à aimer Ruby beaucoup maintenant! Son pur plaisir .. – bragboy

+0

Eh bien, ce n'est pas si bizarre une fois que vous savez que les méthodes, si elles atteignent leur déclaration de fin, renvoient le résultat de la dernière instruction. Les deux doubles quotes ne sont cependant pas très claires. L'ajout d'une déclaration de retour indiquerait au moins que vous aviez l'intention de le faire. L'uniformité n'est pas toujours le meilleur moyen. – AboutRuby

2

Deux guillemets doubles représentent une chaîne littérale vide dans Ruby. Et dans beaucoup d'autres langues.

Questions connexes