Ruby parallele Zuordnung, Schritt Frage
Also, ich versuche Ruby zu lernen, indem ich einige Projekt-Euler-Fragen mache, und ich habe ein paar Dinge kennengelernt, die ich nicht erklären kann, und den Komma? -Operator? ist in der Mitte von beiden. Ich habe keine gute Dokumentation dafür finden können, vielleicht benutze ich Google einfach nicht so, wie ich sollte, aber eine gute Ruby-Dokumentation scheint ein wenig spärlich zu sein. . .
1: Wie beschreiben Sie, wie das funktioniert? Das erste Snippet ist der Ruby-Code, den ich nicht verstehe, das zweite ist der Code, den ich geschrieben habe.
#what is this doing?
cur, nxt = nxt, cur + nxt
#this, apparently, but how to describe the above?
nxt = cur + nxt
cur = nxt - cur
2: Wie beschreiben Sie im folgenden Beispiel, was die Zeile mit 'step' tut? Nach allem, was ich sammeln kann, funktioniert der Befehl step wie (range) .step (step_size), aber dies scheint zu tun (starting_point) .step (ending_point, step_size). Habe ich Recht mit dieser Annahme? Wo finde ich gute doc davon?
#/usr/share/doc/ruby1.9.1-examples/examples/sieve.rb
# sieve of Eratosthenes
max = Integer(ARGV.shift || 100)
sieve = []
for i in 2 .. max
sieve[i] = i
end
for i in 2 .. Math.sqrt(max)
next unless sieve[i]
(i*i).step(max, i) do |j|
sieve[j] = nil
end
end
puts sieve.compact.join(", ")