# 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:** 3

<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:45am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/41 "2015-03-28T11:45:20Z")

</div>

Ti piace vincere facile 😉  
On Mar 28, 2015 11:42 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:** [April 2, 2015, 10:29pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/42 "2015-04-02T22:29:10Z")

</div>

in questi giorni Ho pensato di dare una bella rivisitata al mio sito web  
e mi chiedevo se è possibile cambiare il format del mio programma in  
ruby utilizzando le mie conoscenze sul css …

---

<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:15pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/43 "2015-03-28T23:15:32Z")

</div>

Per restare in tema di “economia”, puoi evitare il controllo exists? e  
usare

FileUtils.mkdir\_p ‘documenti’

che non da errore se la cartella esiste.

@Francesco a titolo di esercizio ti invito a studiare mkdir\_p per  
scoprire che altra caratteristica interessante ha rispetto al normale  
mkdir.

2015-03-28 20:14 GMT+01:00 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:** [April 2, 2015, 10:38pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/44 "2015-04-02T22:38:58Z")

</div>

Se un sito statico ti consiglio Middleman [https://middlemanapp.com/](https://middlemanapp.com/) ,  
un generatore di siti statici scritto in Ruby: praticamente funziona  
generando l’HTML del tuo sito a partire dai layout e dalle viste. un  
ottimo modo per entrare nel fantastico mondo della programmazione web  
con  
Ruby senza affrontare subito Rails, che una bella botta di vita 🙂

Il giorno gio 2 apr 2015 22:29 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:** [April 2, 2015, 11:02pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/45 "2015-04-02T23:02:08Z")

</div>

Ti consiglio anche di guardarti Rack [http://rack.github.io/](http://rack.github.io/) , la  
libreria  
alla base della quasi totalit dei web framework scritti in Ruby: calcola  
che volendo potresti realizzare il tuo sito anche solo con Rack.

–

Maurizio De Santis

Il giorno 2 aprile 2015 22:38, Maurizio De Santis \<  
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:** [April 3, 2015, 4:24pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/46 "2015-04-03T16:24:27Z")

</div>

il sito è statico ma per ora non voglio programmare sul web, è un  
argomento che affronterò piu tardi, io intendevo quale strumento dovrei  
utilizzare per cambiare il layout del programma scritto in ruby . Dovrei  
aprire il file.rb con un altro programma? o posso usare anche qualcosa  
come i fogli di stile sul html?

---

<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:** [April 3, 2015, 5:04pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/47 "2015-04-03T17:04:47Z")

</div>

Ciao, non sto seguendo il thread molto da vicino quindi scusa se cado  
dalle nuvole.Se stai studiando e il codice pubblicabile ti  
suggerisco di pubblicare un repo su github o almeno una gist e linkare  
una pagina o una riga di codice, cos si capisce meglio di cosa parli.  
Altrimenti io per esempio non ho idea di cosa sia file.rb.  
Poi scusami se mi permetto ma un pizzico pi di specificit nel  
subject non guasta. 🙂

2015-04-03 16:24 GMT+02: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:** [April 3, 2015, 7:05pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/48 "2015-04-03T19:05:18Z")

</div>

la domanda è semplicissima , si puo cambiare il modo in cui viene  
visualizzato il programma…? cioè la classica finestra nera del prompt  
dei comandi puo essere superata visualizzando una schermata diversa da  
quella che viene visualizzata avviando il programma?

---

<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:** [May 10, 2015, 9:36pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/49 "2015-05-10T21:36:50Z")

</div>

Salve a tutti mi rivolgo nuovamente a voi chiedendo un aiuto dopo aver  
dato pure l’anima … da qualche settimana, ho passato ore su ruby doc,  
ma non riesco a trovare la soluzione a questo ‘(insignificante)  
ovviamente per molti di voi’ problema che mi sta facendo fondere il  
cervello.  
ho allegato un file un cui spero di essere chiaro ma come mio solito non  
riesco a spiegarmi chiaramente cmq spero che qualcuno gli dia un  
occhiata

---

<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:** [May 11, 2015, 11:52am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/50 "2015-05-11T11:52:31Z")

</div>

Dato che l’esempio molto breve (bene! faciliti molto la vita) potevi  
inserirlo direttamente nel testo. Lo riporto io dandogli una formattata:

# esempio

subtotale = 4 + 5  
entrate = ‘subtotale.txt’  
File.write(entrate, subtotale)

# in questo modo il programma salvera l’operazione ‘4+5’

# sempre sul file subtotale sovrascrivendo ad ogni esecuzione i dati

‘4+5=9’

# io invece devo creare ad ogni esecuzione un nuovo file

# che abbia come titolo la data e l’ora in cui viene creato

# e come testo i risultati che via via devo salvare

# ho passato ore a studiare le classi Time e File ma non sono riuscito a

risolvere

Vado con la risposta. Per ottenere una stringa con il timestamp al  
momento  
dell’esecuzione puoi usare Time.now; per formattarla nel modo desiderato  
si  
usa il metodo Time#strftime  
[http://docs.rubydocs.org/ruby-2-2-2/Ruby%202.2.2/classes/Time.html#method-i-strftime](http://docs.rubydocs.org/ruby-2-2-2/Ruby%202.2.2/classes/Time.html#method-i-strftime)  
:

Time.now.strftime(‘%F\_%H-%M-%S\_%z’) #=\> “2015-05-11\_11-32-12\_+0200”

Per convertire dalla stringa in istanza di Time, nel caso ti servisse,  
si  
usa Time.strptime  
[http://docs.rubydocs.org/ruby-2-2-2/Ruby%202.2.2/classes/Time.html#method-c-strptime](http://docs.rubydocs.org/ruby-2-2-2/Ruby%202.2.2/classes/Time.html#method-c-strptime)  
:

# Per usare Time.strptime occorre caricare ‘time’ dalla stdlib

require ‘time’  
Time.strptime Time.now.strftime(‘%F\_%H-%M-%S\_%z’), ‘%F\_%H-%M-%S\_%z’ #=\>  
2015-05-11 11:34:18 +0200

Ora scrivere il timestamp nel nome del file viene da s:

file\_content = 4+5  
current\_timestamp = Time.now.strftime(‘%F\_%H-%M-%S\_%z’) #=\>  
“2015-05-11\_11-32-12\_+0200”  
filename = “subtotale\_#{current\_timestamp}.txt” #=\>  
“subtotale\_2015-05-11\_11-32-12\_+0200.txt”

File.write file\_content, filename

–

Maurizio De Santis

Il giorno 10 maggio 2015 21:36, 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:** [May 11, 2015, 2:49pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/51 "2015-05-11T14:49:29Z")

</div>

Francesco V. wrote in post #1173396:

> chiarissimo solo non capisco perche si usa la sintassi ’ #{ } ’ non l’ho  
> incontrata prima d’ora… grazie sempre per la disponibilita

E’ la sintassi di string interpolation. Non sei obbligato ad usarla. Per  
esempio

“#{user.first\_name} #{user.last\_name}” # Mario R.

e

user.first\_name + " " + user.last\_name # Mario R.

In questo caso il risultato è lo stesso.

---

<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:** [May 11, 2015, 2:46pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/52 "2015-05-11T14:46:12Z")

</div>

chiarissimo solo non capisco perche si usa la sintassi ’ #{ } ’ non l’ho  
incontrata prima d’ora… grazie sempre per la disponibilita

---

<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:** [May 11, 2015, 2:58pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/53 "2015-05-11T14:58:54Z")

</div>

Generalmente pare che per concatenare le stringhe si ottengano  
prestazioni  
migliori usando l’interpolazione.

Il giorno 11 maggio 2015 14:52, Fabrizio 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:** [May 11, 2015, 4:17pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/54 "2015-05-11T16:17:46Z")

</div>

> Generalmente pare che per concatenare le stringhe si ottengano prestazioni  
> migliori usando l’interpolazione.

Il vero vantaggio dell’interpolazione che sottintende il .to\_s, cosa  
che  
con la concatenazione sarebbe necessario esplicitare:

quantita = 3  
“Hai comprato #{quantita} sacchi di patate”  
#=\> “Hai comprato 3 sacchi di patate”  
“Hai comprato " + quantit + " sacchi di patate”  
#=\> TypeError: no implicit conversion of Fixnum into String  
“Hai comprato " + quantit.to\_s + " sacchi di patate”  
#=\> “Hai comprato 3 sacchi di patate”

–

Maurizio De Santis

Il giorno 11 maggio 2015 14:57, Cristiano G. \<  
[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:** [May 11, 2015, 2:53pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/55 "2015-05-11T14:53:03Z")

</div>

Interpolazione. Occhio che con stringhe definite con apice singolo non  
funziona.

[http://en.wikibooks.org/wiki/Ruby\_Programming/Syntax/Literals#Strings](http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#Strings)

Qui trovi altri modi per farlo.

2015-05-11 14:46 GMT+02: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:** [May 12, 2015, 9:56am UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/56 "2015-05-12T09:56:30Z")

</div>

Il migliore come prestazioni velocistiche e memoria è il metodo \<\<  
derivato da c ma molto unsafe code.  
Concatenare le stringhe è scomodo, lento e costoso come utilizzo memoria  
e abbastanza unsafe code.  
Con l’interpolazione si hanno prestazioni migliori come memoria  
consumata, comodo da scrivere e sicuro per il to\_s

irb(main):006:0\> a=‘a’  
=\> “a”  
irb(main):007:0\> b=nil  
=\> nil

irb(main):008:0\> a + ’ ’ + b  
TypeError: can’t convert nil into String

irb(main):009:0\> ‘’ \<\< a \<\< ’ ’ \<\< b  
TypeError: can’t convert nil into String

irb(main):010:0\> “#{a} #{b}”  
=\> "a "

---

<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:** [May 14, 2015, 4:18pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/57 "2015-05-14T16:18:02Z")

</div>

Salve prima di tutto grazie a tutti per gli utilissimi consigli sempre  
preziosi, mi ritrovo nuovamente bloccato da un paio di giorni su questo  
problema:

#salvando una serie di file su una cartella salvata con il nome’entrate’

current\_timestamp = Time.now.strftime(’%F\_%H-%M-%S\_%z’)

entrate = “entrate/subtot\_#{current\_timestamp}.txt”

File.write entrate, subtot

# Ho necessita di andare a sommare il contenuto

# di questi file che ovviamente contengono numeri

# In poche parole non riesco a trovare il modo per sommare dei file

all’interno di una cartella

---

<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:** [May 14, 2015, 4:33pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/58 "2015-05-14T16:33:25Z")

</div>

Ovviamente so che devo per prima cosa far leggere al programma il  
contenuto dei file, ma visto che sto salvando questi file con il nome  
della data e l’ora in cui vengono salvati,non ho un riferimento fisso,mi  
occorre far leggere al programma tutti i file all’interno di una  
cartella per poi sommarli

---

<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:** [May 14, 2015, 6:35pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/59 "2015-05-14T18:35:53Z")

</div>

sum = Dir[’\*.txt’].map do |filename|  
File.read(filename)  
end.map do |content|  
content.strip.to\_f  
end.inject(&:+)  
On May 14, 2015 4:33 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:** [May 14, 2015, 7:05pm UTC](https://www.ruby-forum.com/t/aiuto-su-un-problema/234626/60 "2015-05-14T19:05:41Z")

</div>

Non gli devi dire di partire da 0 alla inject?

Il giorno gio 14 mag 2015 18:35 maurizio de magnis \<  
removed\_email\_address@domain.invalid\> ha scritto:

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

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