Tutaj macie kod:
#Definiujemy klasę:
class Lost
#dołączamy gem:
require 'rubygems'
require 'highline/import'
#potrzebujemy akcesora zwracającego wskaźnik do pliku:
attr_reader :fp
#Konstruktor otwiera plik:
def initialize(file)
@fp = File.open(file)
end
#Metoda do dodawania rekordów:
def add_record
#Pobieramy informacje:
name = ask('Imię? ') { |q| q.validate = /\A[a-z .'-]+\Z/i }
id = ask('ID? ', Integer) { |q| q.above = 0}
#Zapisujemy dane do pliku:
@fp.puts "#{id},#{name}"
end
#Metoda zamykania pliku
def close
@fp.close
end
end #Koniec klasy Lost
#Tworzymy obiekt:
lost = Lost.new('dane.txt')
#Dodajemy dwa kolene rekordy:
2.times { lost.add_record }
#Zamykamy plik
a tutaj błąd:
ruby -w lost.rb
Imię? Dominik
ID? 231
lost.rb:26:in `write': not opened for writing (IOError)
from lost.rb:26:in `puts'
from lost.rb:26:in `add_record'
from lost.rb:40:in `block in <main>'
from lost.rb:40:in `times'
from lost.rb:40:in `<main>'
Pytanie przy okazji: czy takie kody warte są wrzucania na Github? dodam że jeszcze nic nie wrzuciłem bo nawet nie umiem