Ruby/Iš duomenų failo nuskaityti du skaičius ir sukeistus vietomis įrašyti į rezultatų failą: Skirtumas tarp puslapio versijų

Iš Wikibooks.
Ištrintas turinys Pridėtas turinys
Expert (aptarimas | indėlis)
Nėra keitimo santraukos
Expert (aptarimas | indėlis)
13 eilutė: 13 eilutė:
program SukeistiSkaicius;
program SukeistiSkaicius;
var duomenys, rezultatai: text;
var duomenys, rezultatai: text;
x, y: integer;
a, b: integer;
begin
begin
assign(duomenys, 'duomen.txt'); reset(duomenys);
assign(duomenys, 'duomen.txt'); reset(duomenys);
assign(rezultatai, 'rezult.txt'); rewrite(rezultatai);
assign(rezultatai, 'rezult.txt'); rewrite(rezultatai);
read(duomenys, x, y);
read(duomenys, a, b);
write(rezultatai, y, ' ', x);
write(rezultatai, b, ' ', a);
close(duomenys);
close(duomenys);
close(rezultatai);
close(rezultatai);

23:52, 9 gruodžio 2005 versija

duomen.txt:

66 99

Turime gauti rezult.txt:

99 66

Turbo ir Borland Paskalio problema, kad jis palaiko tik 8 simbolių failų vardus (neskaitant išplėtimo).

Paskalio variantas

program SukeistiSkaicius;
  var duomenys, rezultatai: text;
      a, b: integer;
begin
  assign(duomenys, 'duomen.txt');     reset(duomenys);
  assign(rezultatai, 'rezult.txt'); rewrite(rezultatai);
  read(duomenys, a, b);
  write(rezultatai, b, ' ', a);
  close(duomenys);
  close(rezultatai);
end.

Ruby variantas

File.open('duomen.txt', 'r') do |duomenys| # failas atidaromas skaitymui (Read)
  File.open('rezult.txt', 'w') do |rezultatai| # failas atidaromas rašymui (Write)
      a, b = duomenys.readline.split(" ") # nuskaito eilutę, kai skirtukas tarpas
      rezultatai.write("#{b} #{a}")
  end # rezultatų failas čia bus automatiškai uždaromas
end # duomenų failas čia bus automatiškai uždaromas