Blocchi e cicli

Ciao a tutti,
lanciando il file ho un errore:

#!/usr/bin/env ruby

require ‘pathname’

p = Pathname.new(‘c:\Download\’)
elenco_file = p.entries # passa all’array i valori della directory
elenco_file_txt = elenco_file.select {|entry| entry.to_s =~ /pdf/ }.sort
puts elenco_file_txt[0] # invia a video il risultato

contatore_file = 0
while elenco_file_txt[contatore_file] = nil {
puts elenco_file_txt[contatore_file]
contatore_file=contatore_file+1
}
print “non esistono file txt”
end

SyntaxError: compile error
txt_to_ics_2.rb:20: syntax error, unexpected ‘{’, expecting kDO_COND or
‘:’ or ’
\n’ or ‘;’
txt_to_ics_2.rb:23: syntax error, unexpected ‘}’, expecting $end
from txt_to_ics_2.rb:23

Mi sapreste suggerire l’errore?

Grazie
Massimo

2008/9/21 Massimo A. [email protected]:

Ciao a tutti,
lanciando il file ho un errore:

Se ho capito cosa vuoi fare, prova con questo:

require ‘pathname’

elenco_file = Pathname.new(‘c:\Download\’).entries
elenco_file_txt = elenco_file.select {|entry| entry.to_s =~ // }.sort
puts “Non esistono file txt” if elenco_file_txt.empty?
elenco_file_txt.each {|file| puts file }

Ciao,
Antonio

http://antoniocangiano.com - Zen and the Art of Programming
http://belifesavvy.com - Be life savvy: Life’s missing manual
http://stacktrace.it - Aperiodico di resistenza informatica
Currently writing “Ruby on Rails for Microsoft Developers” for Wrox.

Qui cos’è che è successo ??

while elenco_file_txt[contatore_file] = nil {
puts elenco_file_txt[contatore_file]
contatore_file=contatore_file+1
}
print “non esistono file txt”
end

Cos’è quel blocco aperto? L’errore dice

unexpected ‘{’, expecting kDO_COND or
‘:’ or ’
\n’ or ‘;’

Cioè, il parser non si aspetta il carattere “{”; si sarebbe aspettato il
“do”, i due punti “:” o il punto e virgola “;”, oppure un new line.

E poi la condizione del while è completamente errata, anche perchè non è
una condizione ma un assegnamento (e ritorna nil dunque).