Il est facile d'avoir une condition à la tête d'une chaîne et partager le reste:État au milieu ou à la queue d'une chaîne
if condition
get_this
else
get_that
end
.foo.bar.baz
Mais souvent, je veux une condition au milieu ou à la queue d'une chaîne. Le mieux que je peux penser est d'utiliser instance_eval
:
foo.bar
.instance_eval{
if condition
get_this
else
get_that
end
}
.baz
Mais je me inquiète que l'appel instance_eval
est lourd, donc je finis réellement ne pas le faire. Cela vaut-il la peine de le faire? Y at-il une meilleure façon, ou devrais-je écrire tout simplement:
if condition
foo.bar.get_this
else
foo.bar.get_that
end
.baz
+1 pour la syntaxe dans le premier extrait. –
@AndrewGrimm Merci pour le commentaire, mais qu'entendez-vous par "premier extrait"? – sawa
Un extrait est un petit morceau de code. Je fais référence à la condition 'if condition ... .foo.bar.baz'. Snippet un diminutif de "snip", selon [wiktionary] (http://en.wiktionary.org/wiki/snippet). "Snip" lui-même est probablement une onomatopée, qui en japonais est apparemment チ ョ キ チ ョ キ. –