Я пытаюсь выполнить программу Ruby (Ruby v2.5.3)
в Windows 10, где я в основном открываю файл (sample1.txt, sample2.txt)
и добавляю его содержимое (список из 3 имен) в пустой файл (result.txt)
, а затем сортирую содержимоефайла result.txt
(весь код ниже).Однако, когда я запускаю этот код на RubyMine 2019.1, я получаю сообщение об ошибке:
Traceback (most recent call last):
6: from C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:5:in `<main>'
5: from C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:5:in `each'
4: from C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:7:in `block in <main>'
3: from C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:7:in `each'
2: from C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:8:in `block (2 levels) in <main>'
1: from C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:8:in `open'
C:/Users/tanveer.dey/RubymineProjects/src/Assignment9.rb:8:in `initialize': Permission denied @ rb_sysopen - result.txt (Errno::EACCES)
Все файлы имеют полные разрешения.Однако, когда я выполняю тот же код через терминал IRB, он прекрасно работает.
Я только начал работать над Ruby и нигде не мог найти решение этой проблемы.Ваша помощь очень ценится.
file_array = ["sample1.txt", "sample2.txt"]
file_array.each do |x|
file = File.open(x,'r')
file.each do |h|
open('result.txt', 'a') do |f|
puts f << h
end
end
open('result.txt','a') do |f|
puts f << "\n"
end
end
new_array = File.readlines('result.txt').sort
File.open('result.txt','w') do |file|
new_array.each {|n| file.puts(n)}
end