khodadadi.net
زبان برنامه نویسی ارلنگ - شروع
شل (Shell)
توی ارلنگ اکثر چیزا رو میشه توی شبیه ساز(emulator) تست کرد: شبیه ساز وقتی که اسکریپت، کامپایل و لود بشه اونو اجرا میکنه. همچنین اجازه میده بعضی چیزا رو زندهزنده ویرایش کنین. برای اجرای شل توی لینوکس از دستور erl استفاده کنین. اگه همه چیز رو درست انجام داده باشین چیزی شبیه زیر باید ببینین:
Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.7.2 (abort with ^G)
تبریک میگم، شما شل ارنگ رو اجرا کردین! الان میتونیم کدها رو اجرا کنیم، اما بزارین اول ببینیم چجوری باهاش کار کنیم.
دستورات شل
اول از همه اگه یه چیزی تایپ کنین و ctrl+a رو بزنین اشارهگر میره اول خط و اگه ctrl+e رو بزنین میره آخر خط. اگه بنویسین li و Tab بزنین تکمیلش میکنه و مینویسه lists: و اگه دوباره Tab بزنین اسم چندین تابع رو برای استفاده میاره. lists یک ماژول هست و تابع هایی پیشنهادی هم مال این ماژوله.
خب حالا نمیدونیم جه جوری از شل بریم بیرون: راهش اینه که help(). رو بزنیم و لیست دستورات شل رو ببینیم (نقطه آخرش رو فراموش نکنین چونکه برای اجرای دستور لازمه). بعضی از این دستورات رو بعدا استفاده میکنیم ولی الان این خط کار ما رو راه میندازه:
q() -- quit - shorthand for init:stop()
خب این یک راهشه(در واقع دو راه). اما این روش وقتی که شل freeze بشه جواب نمیده.اگه یادتون مونده باشه موقعی که شل رو اجرا کردیم اینو نوشته بود «aborting with ^G». خب ctrl+g رو بزنین بعدش هم h رو بزنین ببینیم چی میگه:
User switch command
--> h
c [nn] - connect to job
i [nn] - interrupt job
k [nn] - kill job
j - list all jobs
s [shell] - start local shell
r [node [shell]] - start remote shell
q - quit erlang
? | h - this message
-->
اگه تایپ کنین i و بعدش c رو تایپ کنین(بعد از هر دستور، Enter یادتون نره) ارلنگ کد در حال اجرا رو متوقف میکنه و بعد به شل برمیگردین.
اگه j رو بزنین لیست فرایندهای درحال اجرا رو نشون میده و میتونین هریک از این فرایند ها روبا i و بعدش شماره، متوقف (stop) کنین . اگه از k استفاده کنین، فرایند رو بهجای متوقف کردن میکُشین(kill)! برای شروع یک فرایند جدید هم از s استفاده کنید.
بریم مرحله بعد...
مطلبی دیگر از این انتشارات
زبان برنامه نویسی ارلنگ - تاپل (Tuple) یا چندتایی
مطلبی دیگر از این انتشارات
زبان برنامه نویسی ارلنگ - اعداد
مطلبی دیگر از این انتشارات
زبان برنامه نویسی ارلنگ - متغیرها