/ / Jak napisać pary klucz-wartość w Prologu? - prolog, izo-prolog, tuprolog

Jak mogę pisać pary klucz-wartość w Prologu? - prolog, iso-prolog, tuprolog

Wyobraź sobie, że mam następujący predykat, który stwierdza, że ​​identyfikator loc1 wyznacza lokalizację.

isLocation("loc1", "Location 1").

Chcę zapewnić tłumaczenia drugiego tekstu (Location 1), ja. mi. pary klucz-wartość, takie jak en="Location 1", de="Ort 1", ru="Местоположение 1".

Jaki jest prawidłowy sposób kodowania takich danych w Prologu, szczególnie w TuPrologu (a najlepiej w standaryzowanym Prologu)?

Czy poniższa notacja działałaby poza SWI Prolog?

isLocation("loc1", ["en"-"Location 1", "de"-"Ort 1", "ru"-"Местоположение 1"]]).

Odpowiedzi:

3 dla odpowiedzi № 1

najłatwiejszy sposób, pracując w dowolnym Prologu, wykorzystuje członka / 2 do pobierania par klucz-wartość. Na przykład

l10n(MessageId, Country, Translated) :-
isLocation(MessageId, Localized),
member(Country-Translated, Localized).

Taki podstawowy konstrukt wymagałby oczywiście kilku ulepszeń, w zależności od wymagań.