Ce sont ceux qui sont les symboles de tuyau pour en Ruby?
Quels sont les symboles de tuyau pour en Ruby?
Je suis en train d'apprendre Ruby et RoR, venant de PHP et Java arrière-plan, mais je continue à venir à travers un code comme ceci:
def new
@post = Post.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @post }
end
end
Quel est le |format|
partie faire? Ce qui est l'équivalent de la syntaxe de ces symboles de tuyau en PHP/Java?
Vous devez vous connecter pour publier un commentaire.
Ils sont les variables qui ont donné au bloc.
Qui affiche "5". Un plus des arcanes exemple:
La sortie est à "9".
wtf
aller quand le|wtf|
bloc se termine?yield
passé.C'était très étrange pour moi aussi au début, mais j'espère que cette explication/walkthru vous aide.
La documentation touche le sujet, dans une très bonne façon - si ma réponse ne vous aide pas, je suis sûr que leur guide.
D'abord, le feu Interactif interpréteur Ruby en tapant
irb
dans votre coquille et en appuyant sur la touche Entrée.Tapez quelque chose comme:
juste de sorte que nous avons un tableau de jouer avec. Nous créons ensuite la boucle:
Il sortira tous les nombres, séparés par des sauts de ligne.
Dans d'autres langues, vous devriez écrire quelque chose comme:
Les choses importantes à noter que le
|thing_inside_the_pipes|
peut être n'importe quoi, tant que vous l'utilisez régulièrement. Et de comprendre qu'il est des boucles dont nous parlons, c'était une chose que je n'ai pas eu jusqu'à plus tard.for linustorvalds in the_numbers do print linustorvalds
. Un peu plus intuitive, peut-être.à http://www.ruby-lang.org/en/documentation/quickstart/4/ est accompagné par cette explication:
Le code de la
do
à laend
définit un Ruby bloc. Le motformat
est un paramètre dans le bloc. Le bloc est transmis en même temps que l'appel de la méthode, et la méthode appelée pouvezyield
valeurs pour le bloc.Voir tout le texte sur le Rubis pour les détails, c'est une caractéristique fondamentale de Rubis que vous verrez tout le temps.
L'équivalent en Java serait quelque chose comme
Les paramètres d'un bloc de s'asseoir entre les
|
symboles.Pour le rendre encore plus claire, si nécessaire:
la pipe bars essentiellement faire une nouvelle variable pour stocker la valeur générée par l'appel de la méthode avant. Quelque chose qui ressemble à:
Définition d'origine de votre méthode:
Comment Il est utilisé:
C'est presque la même que l'écriture de ce:
où, newVariable = 200 + 100 = 300 :D!