# Rinominare file con ruby

**URL:** <https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922>\
**Category:** IT\
**Created:** [August 2, 2013, 8:06pm UTC](https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922 "2013-08-02T20:06:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sadaf\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/858c86/32.png) [@Sadaf\_N](https://www.ruby-forum.com/u/Sadaf_N)\
**Post date:** [August 2, 2013, 8:06pm UTC](https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922/1 "2013-08-02T20:06:04Z")

</div>

Salve a tutti, ho un programmino molto semplice che sto cercando di  
realizzare con ruby, questo programmino altro non fa che prendere degli  
input dall’utente, memorizzarli, prendere il contenuto di un altro file,  
memorizzare anch’esso e in fine creare un unico file con i dati immessi  
dall’utente e quelli prelevati dal file esterno.

Sino a qui è stato elettrizzante riuscirci con una certa facilità, la  
cosa che adesso mi sta spremendo le meningi e che, purtroppo, non riesco  
a far scegliere il nome del file creato in output.

Dato che per la creazione del file utilizzo il seguente codice:

File.open(“nuovofile.txt”, ‘w’) do |scrivi|  
codice  
codice  
end…

vorrei passare al posto di “nuovofile.txt” un nome preso in input  
dall’utente o in alternativa, sempre tramite input dell’utente,  
rinominare il file “nuovofile.txt”

Mi sono letto più di una volta questa pagina:  
[Class: File (Ruby 2.0.0)](http://www.ruby-doc.org/core-2.0/File.html) , provando e riprovando, ma  
sino ad ora non ne sono venuto a capo, potreste aiutarmi cortesemente?  
Grazie.

---

<div class="post-metadata">

**Author:** ![awar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/5daacb/32.png) [@awar](https://www.ruby-forum.com/u/awar)\
**Post date:** [August 3, 2013, 1:20am UTC](https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922/2 "2013-08-03T01:20:39Z")

</div>

On Aug 2, 2013, at 8:06 PM, “Angelo Raffaele L.”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Sino a qui stato elettrizzante riuscirci con una certa facilit, la  
> cosa che adesso mi sta spremendo le meningi e che, purtroppo, non riesco  
> a far scegliere il nome del file creato in output.

Ciao Angelo, sono contenta che ruby ti elettrizzi 🙂

> vorrei passare al posto di “nuovofile.txt” un nome preso in input  
> dall’utente o in alternativa, sempre tramite input dell’utente,  
> rinominare il file “nuovofile.txt”

Puoi ottenere il primo comportamento con

File.open(ARGV[0]) do |scrivi|

ARGV l’array che contiene i valori che passi da linea di comando al tuo  
script.

In alternativa c’ il metodo di classe File.rename(‘vecchio’, ‘nuovo’)…

Se invece intendi un’interazione tra la console e l’utente, puoi usare  
STDIN.gets per prendere i valori passati da console dall’utente.

Qui [Ruby input & output - I/O operations in Ruby](http://zetcode.com/lang/rubytutorial/io/) trovi un tutorial sull’IO  
in ruby e qui  
[http://stackoverflow.com/questions/12041492/ruby-whats-the-difference-between-stdin-gets-and-gets-chomp](http://stackoverflow.com/questions/12041492/ruby-whats-the-difference-between-stdin-gets-and-gets-chomp)  
una spiegazione della differenza tra STDIN.gets e il semplice gets.

Spero di esserti stata utile, in caso contrario continua a chiedere 🙂

–  
Monica G.  
Developer ~=[,\_,]:3 Usability Queen  
@ freego Network - www.freegoweb.it  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
m. + 39 392 76 51 040

---

<div class="post-metadata">

**Author:** ![awar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/5daacb/32.png) [@awar](https://www.ruby-forum.com/u/awar)\
**Post date:** [August 3, 2013, 11:35am UTC](https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922/3 "2013-08-03T11:35:39Z")

</div>

La soluzione era molto semplice:

print "scegli il nome del file: "  
nomefile=gets.chomp  
File.open nomefile, ‘w’ do |scrivi|  
codice  
codice  
end…

grazie per il supporto.

---

<div class="post-metadata">

**Author:** ![awar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/5daacb/32.png) [@awar](https://www.ruby-forum.com/u/awar)\
**Post date:** [August 3, 2013, 4:16pm UTC](https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922/4 "2013-08-03T16:16:32Z")

</div>

L’importante esserci riuscito!  
Good job 😃

Monica  
Sent from my iPhone

---

<div class="post-metadata">

**Author:** ![awar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/5daacb/32.png) [@awar](https://www.ruby-forum.com/u/awar)\
**Post date:** [August 3, 2013, 11:36am UTC](https://www.ruby-forum.com/t/rinominare-file-con-ruby/245922/5 "2013-08-03T11:36:38Z")

</div>

Angelo Raffaele L. wrote in post #1117581:

> La soluzione era molto semplice:

Anche se ci sono arrivato dopo ore e ore di tentantativi. 😃
