Comment passer les résultats d'une méthode à une autre méthode dans ruby? par exemple:Comment chaîner des méthodes dans ruby en passant la sortie d'une méthode à des méthodes consécutives
class D
def initialize(text)
@text = text
end
def a s
"hello #{s}"
end
def b s
"hi #{s}"
end
end
Alors, ce que je veux faire est de passer la sortie de la méthode de la méthode b. Donc, essentiellement (si les méthodes ne sont pas dans une classe), je peux faire ce qui suit ce qui suit:
puts b(a "Tom") #=>hi hello Tom
Cependant, même si ce n'est pas dans une classe, il ne serait pas l'air bien s'il y a beaucoup de méthodes donc il doit y avoir un moyen plus élégant de le faire. Alors, quelle est la bonne façon d'obtenir la sortie hi hello Tom
en appliquant les méthodes a et b à une instance de la classe D?
MISE À JOUR Je voulais juste le rendre un peu plus clair. Par exemple, en F # vous pouvez faire quelque chose comme ceci:
let a s = "hello " + s
let b s = "hi " + s
"Tom" |> a |> b #=> hello hi Tom
nous avons défini ici les fonctions a et b, puis transmis les résultats à la fonction suivante. Je sais que c'est un langage fonctionnel, donc les façons de faire seraient différentes là-bas. Mais je me demande juste s'il y a de tels tours dans Ruby?
"Donc il doit y avoir une façon plus élégante de faire ça" -Pourquoi est-ce? On pourrait utiliser 'puts b a 'Tom'', mais je doute que ce soit" plus élégant. " – mudasobwa
@mudasobwa je comprends. Je viens de mettre à jour la question pour la rendre un peu plus claire. Peut-être que cela aiderait? :) –
La question demeure: pourquoi sur la Terre, vous pensez que le chemin de F # est plus élégant? – mudasobwa