Merge pull request #3177 from triska/use_phrase_to_file

use more recently available phrase_[to|from]_file/3 in example
This commit is contained in:
Mark Thom
2025-12-08 19:23:52 -07:00
committed by GitHub

View File

@@ -1,5 +1,7 @@
:- use_module(library(charsio)).
:- use_module(library(lists)).
:- use_module(library(pio)).
:- use_module(library(dcgs)).
:- initialization(unit_test).
@@ -10,22 +12,12 @@ unit_test :-
Cs = "a£\x2124\".
write_f :-
open('x.txt', write, Stream, [type(binary)]),
F = put_byte(Stream),
chars_utf8bytes("£\x2124\\x2764\\x1F496\\n", Bs),
maplist(F, Bs),
close(Stream).
get_bytes(Stream, Res) :- get_bytes(Stream, [], Res).
get_bytes(Stream, Acc, Res) :-
get_byte(Stream, B),
(B =:= -1 ->
reverse(Acc, Res)
; get_bytes(Stream, [B|Acc], Res)).
maplist(char_code, Cs, Bs),
phrase_to_file(Cs, "x.txt", [type(binary)]).
read_f :-
open('x.txt', read, Stream, [type(binary)]),
get_bytes(Stream, Bs),
chars_utf8bytes(Cs, Bs),
write(Cs),
close(Stream).
phrase_from_file(seq(Cs), "x.txt", [type(binary)]),
maplist(char_code, Cs, Bs),
chars_utf8bytes(Chars, Bs),
write(Chars).