Sto imparando Ruby e trovato questo esempio di codice in qualche documentazione:Che cosa significa la sintassi? significa in questo esempio di Ruby?
require 'find'
total_size = 0
Find.find(ENV["HOME"]) do |path|
if FileTest.directory?(path)
if File.basename(path)[0] == ?.
Find.prune # Don't look any further into this directory.
else
next
end
else
total_size += FileTest.size(path)
end
end
Lo scopo è quello di riassumere le dimensioni dei file di tutti i file in un albero, escludendo le directory che iniziano con un punto. La linea if File.basename(path)[0] == ?.
sta ovviamente eseguendo il test del nome della directory. Avrei scritto così:
if File.basename(path)[0] == "."
Cosa ?.
fare? (Potrebbe essere un refuso, suppongo.) Non ho visto questa sintassi descritta altrove.
Grazie! Ora ricordo di aver letto su quell'operatore. Questo programmatore Perl ha molto da disimparare. –