Я хотел прочитать из файла и затем сохранить его в виде списка. Каждый раз, когда есть запятая, он объединит все символы перед запятой, чтобы сформировать новое слово. Новая строка укажет, что это новый подсписок. Это очень похоже на то, что java может делать при чтении файла. Я изучаю пролог и имею проблемы с чтением файла и получаю их в качестве входных данных для выполнения различных операций. Знаете ли вы какие-либо методы, которые могут помочь мне прочитать файл и использовать эти данные в качестве ввода для различных функций? Спасибо.
Читать файл:
Фалес, Оливия, Джексон, София
Канадская почта, София, Джексон, Оливия
Cisco, Оливия, София, Джексон
Код:
read_from_file(File, A):-
open(File, read, Stream),
get_char(Stream, Char1),
process_the_stream(Char1, Stream, A),
close(Stream).
write_on_file(File,Text):-
open(File, append, Stream),
write(Stream, Text), nl,
close(Stream).
process_the_stream(end_of_file, _, []):- !.
process_the_stream(Char, Stream, [Char|B]):-
write(Char),
get_char(Stream, Char2),
process_the_stream(Char2, Stream, B).
Токовый выход:
A = [' Т», ч, а, л, е, с, '', 'О', L, I, V, I, а, '', 'J', а, c, K, S, O , n, ',', 'S', o, p, h, i, a, '\ n', 'C', a, n, a, d, a, '', 'P', o , с, т, '', 'S', о, р, Н, I, а, '', 'J', а, c, K, S, O, N, '',» О», L, I, V, I, а, '\ п', 'C', I, S, c, о, '', 'О', L, I, V, I, a, ',', 'S', o, p, h, i, a, ',', 'J', a, c, k, s, o, n]
Выход желаний:
A = [[Фалес, Оливия, Джексон, София], [Почта Канады, София, Джексон, Оливия], [Cisco, Оливия, София, Джексон]]