# Aiuto su un problema

**URL:** <https://www.ruby-forum.com/t/aiuto-su-un-problema/234626>\
**Category:** IT\
**Created:** [March 18, 2015, 1:31pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626 "2015-03-18T13:31:10Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 2:49pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/21 "2015-03-20T14:49:10Z")

</div>

ti ringrazio so che il tempo è prezioso e capisco che dover perdere  
tempo con me non è proprio il massimo … ti ringrazio

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 2:45pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/22 "2015-03-20T14:45:00Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 2:57pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/23 "2015-03-20T14:57:46Z")

</div>

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 🙂

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 3:56pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/24 "2015-03-20T15:56:06Z")

</div>

Francesco tranquillo, a chiedere non sbagli mai 🙂

–

Maurizio De Santis

Il giorno 20 marzo 2015 14:57, Davide R.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
ha scritto:

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 3:56pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/25 "2015-03-20T15:56:59Z")

</div>

A volte (spesso) invece io sbaglio le riposte e gli esempi

🙂

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 4:27pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/26 "2015-03-20T16:27:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 20, 2015, 4:09pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/27 "2015-03-20T16:09:02Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 23, 2015, 9:28pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/28 "2015-03-23T21:28:57Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 23, 2015, 10:41pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/29 "2015-03-23T22:41:19Z")

</div>

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.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
ha scritto:

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 24, 2015, 11:19am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/30 "2015-03-24T11:19:00Z")

</div>

no non va… sto provando come mi hai suggerito def sacchi (cemento)

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 24, 2015, 2:25pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/31 "2015-03-24T14:25:20Z")

</div>

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. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 24, 2015, 6:20pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/32 "2015-03-24T18:20:35Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 24, 2015, 7:22pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/33 "2015-03-24T19:22:45Z")

</div>

ho risolto grazie per i tuoi preziosi consigli, ho molte lacune nella  
sintassi ma grazie a voi sto imparando

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 24, 2015, 6:51pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/34 "2015-03-24T18:51:39Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 27, 2015, 6:39pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/35 "2015-03-27T18:39:38Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 28, 2015, 1:34am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/36 "2015-03-28T01:34:15Z")

</div>

Puoi usare Dir.mkdir

Il giorno ven 27 mar 2015 18:40 Francesco V.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
ha scritto:

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 28, 2015, 9:38am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/37 "2015-03-28T09:38:11Z")

</div>

Non era FileUtils.mkdir ?  
On Mar 28, 2015 1:33 AM, “Maurizio De Santis”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 28, 2015, 11:42am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/38 "2015-03-28T11:42:43Z")

</div>

Pure, ma con l’altro fa una require in meno 🙂

Il giorno sab 28 mar 2015 09:37 maurizio de magnis \<  
removed\_email\_address@domain.invalid\> ha scritto:

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 28, 2015, 8:01pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/39 "2015-03-28T20:01:13Z")

</div>

quindi per esempio per creare la cartella documenti

Dir.mkdir ‘documenti’ ?

per verificare se esiste quindi

if Dir.exists?(documenti)

---

<div class="post-metadata">

**Author:** ![pollopoop92](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a6a055/32.png) [@pollopoop92](https://www.ruby-forum.com/u/pollopoop92)\
**Post date:** [March 28, 2015, 8:15pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/40 "2015-03-28T20:15:42Z")

</div>

Esattamente 🙂

Il giorno sab 28 mar 2015 20:01 Francesco V.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
ha scritto:

[Previous page](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626.md?page=1)

[Next page](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626.md?page=3)
