Форум программистов, компьютерный форум, киберфорум
Ruby
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.10.2018
Сообщений: 93
1

Ruby, работа с файлами

08.01.2020, 20:51. Показов 1282. Ответов 0
Метки ruby (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно, чтобы тест работал со своим собственным текстовым файлом заполнял его данными и (sic!) удалял его после прогона тестов. Задача состоит в том, чтобы его кастомизировать в соответствии с выбранной архитектурой.
Основная прога
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# frozen_string_literal: true
 
# lb7_1.rb
 
# class
class Text
  def initialize(name = 'file.dat')
    @file_name = name
  end
 
  def print_self
    File.open(@file_name, 'r').each { |i| puts i } if File.exist?(@file_name)
  end
 
  def all
    arr = []
    File.open(@file_name, 'r').each { |str| arr.push(str.chomp) }
    arr
  end
 
  def clear
    File.open(@file_name, 'w')
  end
 
  def add_line(xx1, yy1, xx2, yy2)
    File.open(@file_name, 'a') { |f| f.puts [1, xx1, yy1, xx2, yy2].join(' ') }
  end
 
  def add_circle(xxx, yyy, rrr)
    File.open(@file_name, 'a') { |f| f.puts [2, xxx, yyy, rrr].join(' ') }
  end
end

Тесты
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# frozen_string_literal: true
 
# test_lb7_2.rb
require './lb7_1.rb'
require 'minitest/autorun'
# Test class
class Test1 < MiniTest::Unit::TestCase
  def test_1
    a = Text.new
    a.clear
    a.add_line 1, 1, 2, 4
    a.add_circle 5, 4, 3
    assert_equal a.all, ['1 1 1 2 4', '2 5 4 3']
  end
 
  def test_2
    a = Text.new
    a.clear
    a.add_circle 678, 910, 911
    assert_equal a.all, ['2 678 910 911']
  end
 
  def test_3
    a = Text.new
    a.clear
    a.add_line 3.1415, 0, 0, 0
    assert_equal a.all, ['1 3.1415 0 0 0']
  end
 
  def test_4
    a = Text.new
    a.clear
    assert_equal a.all, []
  end
end


Исполняемый файл
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
# frozen_string_literal: true
 
# tui_lb7_1
require './lb7_1'
a = Text.new
a.clear
puts 'Вывод:'
a.add_line 1, 1, 2, 4
a.add_circle 5, 4, 3
a.add_circle 1, 2, 3
a.add_circle 0, 0, 1
a.print_self
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2020, 20:51
Ответы с готовыми решениями:

Работа с файлами в Ruby
Прошу помочь с работой с файлами в Ruby. Я разобралась, как открывать, считывать, записывать и...

работа с мышью в Ruby
Подскажите, пожалуйста, где можно почитать о том, как написать программу, имитирующую действия мыши...

Работа с счётчиком (ruby)
Подскажите пожалуйста, как измерить время работы этого кода в миллисекундах (1..10000000).each...

Работа с файлами , хотелось бы с windows system файлами
всем привет, нужна интересная идея по программированию, работа с файлами , хотелось бы с windows...

0
08.01.2020, 20:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2020, 20:51
Помогаю со студенческими работами здесь

чтобы выучить Ruby on Rails, надо перед этим учить сам Ruby?
чтобы учить Ruby on Rails, надо перед этим учить сам Ruby?

Хочу полностью удалить ruby и ruby on rails с linux mint(a) и установить с чистого листа
Вес день мучаюсь вот что у у меня получилась, походу я не удалил его полностью и собираюсь снова...

Joomla, RUBY, RUBY on rails, php....
Здравстуйте. Я хотел бы спросить вашего совета. Хочется сделать интернет магазин. Подскажите что...

Разработчик Ruby/Ruby on Rails (м. ВДНХ)
В компанию, занимающуюся разработкой и реализацией рекламных интернет-кампаний для разработки...

Работа с файлами(Запись,чтение,работа с данными)
Здравствуйте, никак не могу осилить файлы... Для начала вот само задание: В справочной автовокзала...

Лабораторная работа №5. Работа с файлами и алгоритмы сортировки
1. Написать функцию Load для считывания из текстового файла (например, Workers.txt) информации о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru