En Python, il est iter()
utilisé comme ceci:Comment faire pour que mon code mémorise la position actuelle et que la prochaine fois affiche l'élément suivant?
>>> a=[1,2,4]
>>> b=iter(a)
>>> b.next()
1
>>> b.next()
2
>>> b.next()
4
>>> b.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>
Est-ce que Ruby ont la même fonction?
J'ai essayé, mais il semble qu'il y ait un problème:
ruby-1.9.2-p0 > a=[1,2,3]
=> [1, 2, 3]
ruby-1.9.2-p0 > def b()
ruby-1.9.2-p0 ?> for i in a
ruby-1.9.2-p0 ?> yield i
ruby-1.9.2-p0 ?> end
ruby-1.9.2-p0 ?> end
=> nil
ruby-1.9.2-p0 > b
NameError: undefined local variable or method `a' for #<Object:0xb7878950>
Pourquoi ne pas Ruby trouver la variable a
?
Plutôt que d'essayer de réinventer Python dans Ruby, pourquoi ne pas nous dire pourquoi '[1,2,3] .each' n'est pas suffisant? –
Ce n'est pas une question Python. – martineau