Je suis un programmeur Java/C++ et Ruby est mon premier langage de script. Je trouve parfois que je ne l'utilise pas de manière aussi productive que possible dans certains domaines, comme celui-ci par exemple:Conseil rapide: Comment cela devrait-il être écrit en Ruby?
Objectif: analyser uniquement certaines lignes d'un fichier. Le modèle que je vais suivre est qu'il y a une très grande ligne avec une taille supérieure à 15, le reste étant nettement plus petit. Je veux ignorer toutes les lignes avant (et y compris) le grand.
def do_something(str)
puts str
end
str =
'ignore me
me too!
LARGE LINE ahahahahha its a line!
target1
target2
target3'
flag1 = nil
str.each_line do |line|
do_something(line) if flag1
flag1 = 1 if line.size > 15
end
j'ai écrit cela, mais je pense qu'il pourrait être écrit beaucoup mieux, à savoir, il doit y avoir une meilleure façon de mettre un drapeau. Des recommandations pour écrire de belles lignes de Ruby sont également les bienvenues.
Note/Clarification: Je dois imprimer TOUTES les lignes APRÈS la première apparition de la LARGE LINE.
Pouvez-vous définir «mieux» votre boucle fait exactement ce que vous voulez dans seulement quelques lignes de code et il est très facile de lire et de comprendre l'intention. – Beanish
Mieux vaut pas par la performance, mais mieux. Les exemples fournis jusqu'ici sont ce que je recherche (surtout, si seulement les gens relisaient mieux la clarification). – Zombies