MaximeD/M1-TAL — comment on commit 5d6f61a7ec580e19d85d6eb3a9aba68bd27fb6cb
File: S2/Programmation/TD1/stats.rb line 21
By oelmekki:

c'est purement stylistique, mais tu peux utiliser des blocks ici, comme le File.open plus haut.

```ruby
File.open( file, 'r' ) do |line|
@word_list

line.split.each do |word| # pas besoin de préciser split(' '), le défaut de split est \s. À moins que tu ne veuilles splitter que les espaces et pas genre les newline, bien entendu
@word_list << word
end
end
```

À noter également qu'on utilise généralement des getters avec memoizer plutôt que de se une variable d'instance et l'utiliser juste derrière. Ça rend le code encore un peu plus lisible :

```ruby

def initialize
File.open( file, 'r' ) do |line|
line.split.each do |word|
word_list << word
end
end
end

protected

def word_list
@world_list ||= []
end
```

C'est spécialement vrai si l'initialisation de la variable est complexe, ici ce ne serait que cosmétique.