Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
File - file.rb

file.rb

Caricato da: Red
Scarica il programma completo

  1. SEPARATORE="="*45+"\n"
  2.  
  3. def scrivi
  4.   print "\nInserisci nome file da scrivere: "
  5.   nome=gets.chomp
  6.   begin
  7.     file=File.open(nome,"w")
  8.     puts "Inserisci testo da mettere nel file(exit per uscire)"
  9.     scr=true
  10.     while scr==true
  11.       a=gets
  12.       if(a[-5..-2]=="exit")
  13.         file.write a[0...-5]
  14.         scr=false
  15.       else
  16.         file.write a
  17.       end
  18.     end
  19.     file.close
  20.   rescue
  21.     puts "Impossibile eseguire operazioni sul file: #{nome}"
  22.   end
  23. end
  24.  
  25. def leggi
  26.   print "\nInserisci nome file da leggere: "
  27.   nome=gets.chomp
  28.   begin
  29.     file=File.open(nome,"r")
  30.     puts "\nFile: #{nome}\n"
  31.     file.each {|linea| puts "#{linea}"}
  32.     file.close
  33.   rescue
  34.     puts "Impossibile eseguire operazioni sul file: #{nome}"
  35.   end
  36. end
  37.  
  38. def conta_caratteri
  39.   print "\nInserisci nome file: "
  40.   nome=gets.chomp
  41.   begin
  42.     file=File.open(nome,"r")
  43.     i=0
  44.     file.each_byte do |c|
  45.       if(c!=10&&c!=13)
  46.         i=i+1
  47.       end
  48.     end
  49.     puts "Nel file #{nome} sono presenti #{i} caratteri"
  50.    file.close
  51.   rescue
  52.     puts "Impossibile eseguire operazioni sul file: #{nome}"
  53.   end
  54. end
  55.  
  56. def dispari
  57.   print "\nInserisci nome file: "
  58.   nome=gets.chomp
  59.   begin
  60.     file=File.open(nome,"r")
  61.     file.each do |f|
  62.       if(file.lineno%2!=0)
  63.         puts "#{file.lineno})#{f}"
  64.       end
  65.     end
  66.   file.close
  67.   rescue
  68.     puts "Impossibile eseguire operazioni sul file: #{nome}"
  69.   end
  70. end
  71.  
  72. def main
  73.   puts SEPARATORE+"Gestione Files"
  74.   puts "1)Scrivi file        2)Leggi file"
  75.   puts "3)Conta caratteri    4)Righe dispari"
  76.   puts "5)Esci"
  77.   comando=gets.chomp.to_i
  78.   case comando
  79.     when 1
  80.         scrivi
  81.     when 2
  82.         leggi
  83.     when 3
  84.         conta_caratteri
  85.     when 4
  86.         dispari
  87.     when 5
  88.         exit
  89.     else
  90.         puts "Comando inesistente: #{comando}"
  91.     end
  92.    
  93.     main
  94.   end
  95.  
  96.   main