2009-03-04 18 views
4

Bir Prolog listesini verimliliği açısından ve bir Prolog listesini bir Prolog terimine dönüştürmenin en iyi yolu, ve varolan yerleşik yüklemleri olabildiğince mümkün kullanarak kullanma ?Listeyi Prolog'ta bir terime dönüştürme

Arayüz ve kullanım örnekleri aşağıdaki gibi olabilir. I.e. Verilen liste (aslında yuvalanmış bir terimdir), verilen adla bir terim olan 'a düzleştirilmiştir.

Bunu yapmanın mantıklı olduğunu söylemiyorum. (Ne işe yaradığını düşünüyorsanız Ama Cevabınız bir usecase sağlayın.)

+0

, Xs], '.', Terim ''? Bunun bir liste olmamasını talep ediyorsunuz ... :-) – false

+0

Bunu işaretlediğiniz için teşekkürler. ;) Şimdi bu soruyu 3 yıl sonra okudum, benim için gerçekten de mantıklı değil. Yapabilseydim hepsini tamamen silerdim. – Kaarel

+0

Başlangıç ​​seviyesinden bir soru. İşte yer burası. – false

cevap

8

Çok gibi =.. operatörünü kullanmanız gerekir: [(X list_to_term `için cevap ne olmalıdır

list_to_term(List, Functor, Term) :- 
    Term =.. [Functor | List]. 
+0

Yani kastediyorsun: Term = .. [Functor | Liste]? – Kaarel

+0

@Kaarel: Oh, evet. Örneğini yanlış okuyorum. Siz haklısınız: İstediğiniz sonuçları almak için [Functor | Liste]. – Pesto

İlgili konular