Pour le code suivant, pourquoi seulement « World » est impriméSinatra ne supporte pas plusieurs lignes?
get '/' do
"Hello"
"World"
end
Pour le code suivant, pourquoi seulement « World » est impriméSinatra ne supporte pas plusieurs lignes?
get '/' do
"Hello"
"World"
end
Tomas répondu correctement à votre question, mais une façon de faire ce que je pense que vous êtes un sens à faire (sortie plusieurs lignes), vous pourrait utiliser:
get '/' do
output =<<EOS
Hello
World
EOS
output
end
-moi si je me trompe, mais je crois en rubis clair, la dernière ligne évalué est ce qui est retourné.
Cela n'a rien à voir avec sinatra lui-même. Il utilise juste la valeur de retour du bloc et dans ruby la valeur de retour est la dernière expression évaluée, qui dans votre cas est "Monde". Cela pourrait fonctionner pour vous:
Dans ce cas, vous ajoutez autant de valeurs de chaîne à r
que vous voulez et la dernière expression retourneraient la chaîne complète « HelloWorld ».
Vous pouvez utiliser un saut de ligne ombles pour séparer les lignes ..
get '/' do
"Hello\nWorld"
end
Ne confondez pas votre contrôleur avec votre vue.
Qu'est-ce que vous cherchez probablement est la suivante:
get '/' do
haml :hello_world
end
Et puis dans views/hello_world.haml
:
Hello
World
Je suis d'accord avec Matt.
Si vous le souhaitez, vous pouvez également utiliser cette méthode avec un fichier.
get '/' do
erb :hello_world
end
__END__
@@ hello_world
bonjour
monde
Je viens d'utiliser mon contrôleur met à l'intérieur pour obtenir une mise au point imprimé à STDOUT.
Néanmoins, l'utilisation de + génère à chaque fois un nouvel objet chaîne. Essayez d'utiliser << à la place. – Mereghost