ti ringrazio so che il tempo è prezioso e capisco che dover perdere
tempo con me non è proprio il massimo … ti ringrazio
scusami ma l’esempio non mi è chiaro ho bisogno di capirlo in un
contesto in cui trovo un riscontro logico anche so che è corretto il tuo
esempio io purtroppo nn capisco… mi sembrano cose astratte … questo
è il mio caso potresti farmi un esempio con questo codice
Lascia stare i klingon
Piuttosto guarda questo errore:
qnt_rimasta = carica_quantita_rimasta(0, 0)
def carica_quantita_rimasta(indice_prodotto)
qnt = ‘qnt_rimasta’ + indice_reparto.to_s + ‘_’ + indice_prodotto.to_s
- ‘.txt’
if File.exists?(qnt)
quantita = File.read(qnt).to_i
else
quantita = 100
File.write(qnt, quantita_rimasta)
end
quantita
end
Stai passando 2 parametri ad una funzione con un solo parametro.
Se vuoi passargli un Array dovresti fare:
qnt_rimasta = carica_quantita_rimasta([0, 0])
Forse questo risolve i tuoi dubbi sugli arrai come parametri?
Ciao
P.S; torno al lavoro e non ripondo oltre sorry
Francesco tranquillo, a chiedere non sbagli mai
–
Maurizio De Santis
Il giorno 20 marzo 2015 14:57, Davide R.
[email protected]
ha scritto:
A volte (spesso) invece io sbaglio le riposte e gli esempi
sto riscontrando tanti problemi usando gli array e le funzioni, ma per
oggi stacco la spina sono stanco e anche frustrato perche da stamattina
non riesco a capire una cosa cosi elementare ma davvero importante
anche modificando con
qnt_rimasta = carica_quantita_rimasta([0, 0])
l’errore non cambia a parte quello è qlks altro a causarlo ed sarà cosi
banale eppure non riesco a capire
Problema risolto con le funzioni ma non riesco a far salvare i file
delle quantita rimaste in cartelle diverse per esempio : le quantita
rimaste cemento,calce etc… li devo far salvare nella cartella ‘sacchi’
ma scrivendo :
if File.exists?(qnt0)
cemento = File.read(sacchi’cemento.txt’).to_i
else
cemento = 100
File.write(qnt0, cemento)
end
il programma non va a leggere il file nella cartella sacchi ma
ovviamente genera nuovamente il file
File.read(sacchi’cemento.txt’)
Non una sintassi corretta in Ruby (a meno che sacchi sia un metodo e
‘cemento.txt’ un argomento, ma non credo), sei sicuro il codice che hai
postato funzioni?
–
Maurizio De Santis
Il giorno 23 marzo 2015 21:28, Francesco V.
[email protected]
ha scritto:
no non va… sto provando come mi hai suggerito def sacchi (cemento)
Fammi capire questo codice che hai scirtto:
if File.exists?(qnt0)
^^^^^^^^^^ il metodo exists? prende come argomento un path a un file
che cosa contiene qnt0 ?
cemento = File.read(sacchi’cemento.txt’).to_i
^^^^^^^^^^ questa riga sicuramente sbagliata per quanto gi detto
immagino che tu volessi dire File.read('sacchi/cemento.txt')
visto che parli della cartella sacchi
else
cemento = 100
File.write(qnt0, cemento)
end
2015-03-23 21:28 GMT+01:00 Francesco V. [email protected]:
questo è il codice
qnt0 = ‘cemento.txt’
if File.exists?(qnt0)
cemento = File.read(‘cemento.txt’).to_i
else
cemento = 100
File.write(qnt0, cemento)
end
prod0 = ‘cemento’
prez0 = 4.00
continua_ciclo = true
totale = 0
while continua_ciclo
puts ’ ’
puts ‘Inserire prodotto da ricercare :’.center(amp + 50)
puts ’ ’
scelta = gets.chomp
if scelta == ‘totale’
continua_ciclo = false
elsif scelta == prod0
puts ‘cad.’.center(amp - 10) + prez0.to_s + ’ $’
puts ’ ’
puts 'Quantita disponibile in magazzino: ’ + cemento.to_s
puts ’ ’
print 'Inserire quantita richiesta: ’
qnt_ric = gets.chomp.to_i
somma0 = (prez0 * qnt_ric).to_f
puts 'TOTALE: ‘.center(amp + 10) + somma0.to_s + ’ $’
cemento = cemento - qnt_ric
puts 'Quantita rimasta: ’ + cemento.to_s
puts ’ ’
else
puts ’ ’
puts ‘Prodotto non presente.’
puts ’ ’
end
end
totale = somma0.to_f
puts ’ ’
puts 'SUBTOTALE: ‘.center(amp + 10 ) + totale.to_s + ’ $’
File.write(qnt0, cemento)
ho risolto grazie per i tuoi preziosi consigli, ho molte lacune nella
sintassi ma grazie a voi sto imparando
Nelle prime righe del file farei un controllo per vedere se la
directory ‘sacchi’ esiste. Se non esiste gi la crei. E poi ogni volta
che devi leggere o scrivere un file devi specificare il percorso
rispetto alla directory locale.
Es. File.read(‘sacchi/cemento.txt’) o File.write(‘sacchi/cemento.txt’)
Altrimenti come pensi che il software sappia che vuoi usare una
directory ‘sacchi’, se non lo specifichi da nessuna parte?
Prima pensa a farlo funzionare cos, poi penserai a come rimuovere la
ridondanza usando delle funzioni.
On Tue, Mar 24, 2015 at 6:20 PM, Francesco V.
fino ad ora ho avuto la necessita di creare manualmente le cartelle dove
salvare i file ma se volessi creare una cartella quale sarebbe il
codice?
Pure, ma con l’altro fa una require in meno
Il giorno sab 28 mar 2015 09:37 maurizio de magnis <
[email protected]> ha scritto:
quindi per esempio per creare la cartella documenti
Dir.mkdir ‘documenti’ ?
per verificare se esiste quindi
if Dir.exists?(documenti)