powered_by.png, 1 kB
arrow برنامه نویسی arrow آموزش Scheme - بخش اول
آموزش Scheme - بخش اول چاپ ايميل
نوشته شده توسط melomane   
15 فروردين 1386,ساعت 05:34:11

معمولا اولین برنامه ی متعارفی که در هر زبانی نوشته می شود برنامه ی Hello World است. برای نوشتن چنین برنامه ای در زبان Scheme  ویرایشگری را باز کنید و فایلی به نام hello.scm با محتوبات زیر بسازید:

 

;The first program

  (begin

  (display "Hello, World!")

   (newline))

اولین خط توضیح است. وقتی اسکیم به سمی کولون می رسد تمام محتویات آن خط را نادیده می گیرد.

فرم begin در اسکیم راهی برای معرفی دنباله ای از زیر فرم ها (subforms) است. در اینجا دو زیر فرم داریم. اولین زیرفرم فراخوانی روال display است که آرگومان خودرا (در اینجا رشته ی “Hello World”) در کنسول (و یا خروجی دیگر) به نمایش در می آورد. زیرفرم دوم فراخوانی روال newline است که یک خط خالی ایجاد می کند.

اکنون برای اجرای این دستورات باید کار با اسکیم را شروع کنید. این کار اغلب به راحتی با تایپ دستور اجرایی اسکیم در خط فرمان سیستم عامل صورت می گیرد. مثلا اگر MzScheme دارید در خط فرمان بنویسید:

mzscheme

  اگر مفسر اسکیم را ندارید به این لینک مراجعه کنید.

  با این کار مفسر اسکیم فراخوانی می شود.

(در اصطلاح به اینگونه مفسر ها که خط به خط فرمان را اجرا می کنند listener گفته می شود.)

این listener فرمان را از ورودی خوانده٬ ارزیابی می کند و سپس نتایج را به خروجی می برد و سپس منتظر گرفتن فرمان جدید از شما می شود.

اکنون در قسمت خط فرمان listener فایل باید بارگذاری شود:

 

(load "hello.scm")

  حالا اسکیم فرمان شما را گرفته و ارزیابی می کند و به این ترتیب Hello World در خروجی نمایش داده می شود. listener منتظر فرمان بعدی شما می ماند.

البته در بیشتر listenerها نیازی نیست که هر بار فایل را با یک ویرایشگر بسازید و بعد بارگذاری کنید. می توانید دستورات خود را مستقیما در listener نوشته و نتایج را مشاهده کنید. این کار ساده تر به نظر می رسد٬ به خصوص به هنگام یادگیری و زمانی که تنها قصد کاوش در زبان اسکیم را دارید.

به عنوان نمونه نوشتن این دستورات در خط فرمان listener

  (begin (display "Hello, World!")

       (newline))

این نتیجه را دارد:

 
Hello, World!

  در واقع این کار را می توان به صورت ساده تری نیز انجام داد٬ یعنی تنها با تایپ کردن عبارت

 

“Hello, World!"

که این نتیجه را به همراه دارد:

“Hello, World!"

  اما توجه کنید که تفاوت بزرگی بین این دو برنامه  است. خروجی برنامه ی اول تنها رشته است اما برنامه  دوم دابل کوتیشن را نیز به همراه دارد.

یک تفاوت اساسی دیگر بین این دو برنامه وجود دارد. دستورات در برنامه ی اول به چیزی ارزیابی نمی شوند بلکه حاصل٬ تاثیر دو روال display و newline بر خروجی است. اما ارزیابی در برنامه ی دوم  است که نتیجه را به همراه دارد که در اینجا نتیجه همانند خود فرم است.

در این مقاله ی آموزشی از <= به عنوان نتیجه ی حاصل از رزیابی استفاده می کنیم. به عنوان مثال:

  “Hello, World!” => “Hello, World!"

  با اتمام کار٬ ما هنوز در listener هستیم. برای خروج از listener از این دستور استفاده کنید:

 
(exit)

 
با این دستور شما از listener اسکیم خارج شده و به خط فرمان سیستم عامل (که خود یک listener است) منتقل می شوید.

استفاده ی تعاملی از listener برای تست کردن برنامه ها و دستورات جدا از هم بسیار مناسب است هر چند که به هیچ وجه ضروری نیست. شما می توانید همچنان تمام برنامه ی خود را در یک فایل ذخیره کنید و بدون استفاده ی مستقیم از listener نتایج را مشاهده کنید. برای این کار در خط فرمان سیستم عامل این دستور را تایپ کنید:

 
mzscheme -r hello.scm

 
با این کار همان پیغام در کنسول چاپ می شود بدون اینکه شما مستقیما listener را باز کنید.

 

مهدی ییلاقی اشرفی 

تاريخ بروز رساني ( 14 خرداد 1386,ساعت 12:40:57 )
 
< بعد   قبل >

اطلاعات کاربر

IP کاربر
38.103.63.60
United States United States
نوع مرورگر
مرورگر ناشناس مرورگر ناشناس
نوع سیستم عامل
سیستم عامل ناشناس سیستم عامل ناشناس
كليه حقوق اين وب سايت نزد Code Corona محفوظ ميباشد.
Joomla! is Free Software released under the GNU/GPL License.