سؤال

أريد تحميل هذا الشيء البسيط في المحرر الخاص بي:

Write:-repeat,write("hi"),nl,fail.

بحيث يطبع "مرحبا".

ماذا علي أن أفعل؟

أحاول حاليا القيام به File->New

وحفظ ملف مسمى الكتابة في E:\Program Files\pl\xpce\prolog\lib

عند إجراء الاستعلام:

؟-اكتب.

إنها الطباعة:

1 ?- Write.
% ... 1,000,000 ............ 10,000,000 years later
% 
%       >> 42 << (last release gives the question)

لماذا ا؟

هل كانت مفيدة؟

المحلول

تعديل

فعلت المزيد من الأبحاث. من الواضح أن هذا ما يفعله SWI-Prolog عندما تسأله عن متغير غير ثابت.

$ prolog
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.6.64)
Copyright (c) 1990-2008 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- X.
% ... 1,000,000 ............ 10,000,000 years later
% 
%       >> 42 << (last release gives the question)
?- 

تحديث

تغيير الاسم إلى أعمال صغيرة. الأحرف الكبيرة مخصصة للمتغيرات:

HelloWorld.Prolog:

helloworld:-write('Hello World!'),nl,fail.

ثم:

$ prolog
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.6.64)
Copyright (c) 1990-2008 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- ['helloworld.prolog'].
% helloworld.prolog compiled 0.00 sec, 1,376 bytes
true.

?- helloworld.
Hello World!
false.

?- 

لاحظ أنه يتعين عليك استشارة الملف أولاً. جربت هذا ويعمل بالتأكيد.

نصائح أخرى

تحتاج إلى تسمية الإجراء write, ، ليس Write. الحالة العليا بدء الحروف هي للمتغيرات. (قد يكون الأمر أقل إرباكًا إذا سميته بشيء آخر مثل writeHi أو شيء من هذا القبيل ، لذلك ليس له نفس اسم الإجراء المدمج ، لكنه سيظل يعمل عند الاتصال به write لأن كتابتك لها قسوة مختلفة عن المدمج في واحد).

كما قد ترغب في استبدال "hi" مع 'hi', ، على الرغم من أنه سيعمل في كلتا الحالتين (ولكن الإصدار الثاني فقط سيقوم بالفعل بطباعة الكلمة HI على الشاشة - سيقوم الإصدار الخاص بك بطباعته كقائمة عدد صحيح).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top