Я пытаюсь прочитать файл в список байтов в прологе, используя swipl версии 8.0.3.
:- use_module(library(readutil)).
try_read_byte(File):-
open(File, read, Stream),
get_byte(Stream, B),
print(B).
try_read_char(File):-
open(File, read, Stream),
get_char(Stream, C),
print(C).
try_read_char
успешно, но когда я вызываю try_read_byte
, я получаю ошибка:
ERROR: No permission to read bytes from TEXT stream `<stream>(0x56413a06a2b0)'
ERROR: In:
ERROR: [9] get_byte(<stream>(0x56413a06a2b0),_9686)
ERROR: [8] try_read_byte("test.pl") at /home/justin/code/decompile/test.pl:5
ERROR: [7] <user>
При просмотре исходного кода / документации (https://www.swi-prolog.org/pldoc/man?section=error) кажется, что это что-то вроде ошибки типа, но я не могу выяснить, что делать на основе этого.