Y a-t-il un moment précis où je devrais utiliser ""
vs ''
?
J'ai utilisé des guillemets simples la plupart du temps parce que c'est plus facile à taper, mais je ne sais pas si je devrais.
par exemple get 'user/new'
vs. get "user/new"
Y a-t-il un moment précis où je devrais utiliser ""
vs ''
?
J'ai utilisé des guillemets simples la plupart du temps parce que c'est plus facile à taper, mais je ne sais pas si je devrais.
par exemple get 'user/new'
vs. get "user/new"
Non, les guillemets doubles permettent simplement l'interpolation des chaînes de caractères. Si vous ne voulez pas d'interpolation de chaînes de caractères, vous ne devez pas utiliser de guillemets doubles.
Il n'y a aucune raison d'utiliser les guillemets doubles uniquement lorsque vous avez besoin d'une interpolation, il n'y a pas d'impact significatif sur les performances et cela vous fera juste réfléchir à ce que vous devez utiliser. Utilisez simplement des chaînes de caractères entre guillemets.
Il s'agit d'une réponse très utile à cette question. Je n'avais jamais réalisé que les guillemets simples servaient à imprimer littéralement tout ce qui se trouvait entre les guillemets simples, à l'exception des guillemets qui doivent être échappés. Je vous remercie.
Et les backslashs essaient aussi puts '\\'
Il n'imprimera qu'une seule barre oblique. voir ici stackoverflow.com/questions/25499046/
Pour répondre à votre question, vous devez utiliser ""
lorsque vous voulez faire une interpolation de chaîne de caractères :
a = 2
puts "#{a}"
Sinon, utilisez des citations simples.
De plus, si vous vous demandez s'il y a une différence en termes de performances, il existe un excellent site Web de la Commission européenne. question à ce sujet sur StackOverflow.
Et si vous êtes vraiment novice en matière de RdR, je vous conseille vivement de vous procurer un bon livre sur Ruby pour apprendre les bases du langage. Cela vous aidera à comprendre ce que vous faites (et vous empêchera de penser que Rails est magique). Je recommande personnellement Le Rubyiste bien rodé .
Similaire à la réponse " \n "dans l'imprimerie, voici un autre exemple de cette différence.
puts "\1" -> get special character
puts '\1' -> get \1
Il semble donc que * ait été converti en caractère échappé dans les guillemets doubles, mais pas dans les guillemets simples. De plus, cela aura un impact sur la sortie lors de l'utilisation d'une expression régulière. par exemple str.gsub(/expression régulière/, ' \1 , \2 ')
Ils ne sont pas équivalents, car les guillemets doubles permettent d'interpréter les chaînes de caractères.
Avez-vous lu la partie "Dans ce cas précis", avant de faire cette observation extrêmement intelligente ?
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
12 votes
Êtes-vous sûr qu'il s'agit d'une question de RdR, et pas seulement d'une question de Ruby ?
0 votes
Existe-t-il un guide de style pertinent permettant de choisir quand l'interpolation des chaînes de caractères n'est pas nécessaire ?