| JANET(1) | General Commands Manual | JANET(1) |
نام (NAME)
janet - مفسر و محیط اجرای زبان برنامهنویسی تابعی Janet
خلاصه دستور (SYNOPSIS)
janet [-hvsrpnqik] [-e کد_منبع] [-E کد_منبع ...آرگومانها] [-l ماژول] [-m مسیر] [-c ماژول ایمیج] [-w سطح] [-x سطح] [--] اسکریپت آرگومانها...
توضیحات (DESCRIPTION)
زبان Janet یک زبان برنامهنویسی تابعی و امری و مفسر بایتکد (bytecode) است. این زبان شبیه لیسپ (Lisp-like) است، اما لیستها با سایر ساختارهای داده (آرایهها، جدولها، ساختارها و تاپلها) جایگزین شدهاند. این زبان همچنین از اتصال به کدهای بومی C، برنامهنویسی انتزاعی با ماکروها (meta-programming) و اسمبلی بایتکد پشتیبانی میکند.
محیط تعاملی (REPL) برای آزمودن زبان و همچنین قابلیت اجرای فایلهای اسکریپت وجود دارد. این برنامه کلاینت از محیط زمان اجرای اصلی جدا است، بنابراین Janet میتواند در سایر برنامهها تعبیه (embed) شود. میتوانید Janet را در مرورگر خود در نشانی https://janet-lang.org امتحان کنید.
پیادهسازی آن عمدتاً با استاندارد C99 انجام شده و روی لینوکس، مکاواس و ویندوز اجرا میشود. ویژگیهای اندکی که در استاندارد C99 نیستند (بارگذاری پویای کتابخانهها و بهینهسازیهای خاص کامپایلر) بسیار سرراست هستند. زبان Janet به سادگی روی بیشتر پلتفرمهای جدید قابل پورت است.
کلیدهای میانبر محیط تعاملی (REPL KEY-BINDINGS)
- Home
- انتقال مکاننما به ابتدای خط ورودی.
- End
- انتقال مکاننما به انتهای خط ورودی.
- چپ/راست (Left/Right)
- جابهجایی مکاننما در خط ورودی.
- بالا/پایین (Up/Down)
- حرکت به عقب و جلو در تاریخچه دستورات.
- Tab
- تکمیل نماد فعلی یا نمایش تکمیلهای موجود.
- Delete
- حذف یک نویسه پس از مکاننما.
- Backspace
- حذف یک نویسه قبل از مکاننما.
- Ctrl-A
- انتقال مکاننما به ابتدای خط ورودی.
- Ctrl-B
- انتقال مکاننما به اندازه یک نویسه به سمت چپ.
- Ctrl-D
- اگر روی خط جدید باشد، نشاندهنده پایان جریان ورودی بوده و از REPL خارج میشود.
- Ctrl-E
- انتقال مکاننما به انتهای خط ورودی.
- Ctrl-F
- انتقال مکاننما به اندازه یک نویسه به سمت راست.
- Ctrl-H
- حذف یک نویسه قبل از مکاننما.
- Ctrl-K
- حذف همه چیز پس از مکاننما در خط ورودی.
- Ctrl-L
- پاک کردن صفحه ترمینال.
- Ctrl-N/Ctrl-P
- حرکت به جلو و عقب در تاریخچه دستورات.
- Ctrl-U
- حذف همه چیز قبل از مکاننما در خط ورودی.
- Ctrl-W
- حذف یک کلمه قبل از مکاننما.
- Ctrl-G
- نمایش مستندات مربوط به نماد فعلی زیر مکاننما.
- Ctrl-Q
- پاک کردن دستور فعلی، از جمله خطوط تایپشده قبلی.
- Alt-B/Alt-F
- انتقال مکاننما به اندازه یک کلمه به عقب و جلو.
- Alt-D
- حذف یک کلمه پس از مکاننما.
- Alt-,
- رفتن به قدیمیترین مورد در تاریخچه.
- Alt-.
- رفتن به آخرین مورد در تاریخچه.
کلیدهای میانبر REPL بر اساس زیرمجموعهای از GNU readline پیادهسازی شدهاند، هرچند Janet در داخل از GNU readline برای REPL استفاده نمیکند. این یک جایگزین محدود برای GNU readline است و ورودیهای UTF-8 یا سایر ورودیهای چندبایتی را به خوبی مدیریت نمیکند.
برای غیرفعال کردن پردازش ورودی داخلی REPL، گزینه -s را به Janet بدهید و از برنامهای مانند rlwrap به همراه Janet برای مدیریت ورودی استفاده کنید.
برای کلیدهای میانبری که روی کلمات عمل میکنند، یک کلمه به عنوان توالیای از نویسهها بدون فاصله تعریف میشود.
مستندات (DOCUMENTATION)
برای مستندات کاملتر API، یک محیط تعاملی (REPL) اجرا کرده و از ماکروی doc برای مشاهده مستندات اتصالات و توابع مجزا استفاده کنید.
گزینهها (OPTIONS)
- -h
- نمایش متن راهنمای استفاده و خروج فوری.
- -v
- نمایش متن نگارش برنامه و خروج فوری.
- -s
- خواندن ورودی خام از stdin و صرفنظر از قابلیتهای پیشرفته ورودی (شامل تاریخچه و ویژگیهای شبیه readline).
- -e code
- اجرای یک رشته از کد منبع Janet. کد منبع به همان ترتیبی که دریافت میشود اجرا میگردد، بنابراین آرگومانهای قبلی پیش از آرگومانهای بعدی اجرا میشوند.
- -E code arguments...
- اجرای یک
عبارت تکی Janet
به عنوان
تابع کوتاه
(short-fn) و ارسال
باقی
آرگومانهای
خط فرمان به
این عبارت.
این ویژگی
امکان
اجرای
دستورات
تکخطی
فشردهتر
با
آرگومانهای
خط فرمان را
فراهم
میکند.
مثال: دستور janet -E '(print $0)' 12 معادل '((short-fn (print $0)) 12)' بوده که آن هم معادل `((fn [k] (print k)) 12)` است.
برای جزئیات بیشتر به مستندات تابع short-fn مراجعه کنید.
- -d
- فعالسازی حالت دیباگ (اشکالزدایی). در تمام سیگنالهای پایان و همچنین سیگنال دیباگ، دیباگر در REPL بالا میآید. معادل فراخوانی (setdyn :debug true) در یک REPL پیشفرض.
- -n
- غیرفعالسازی رنگهای ANSI در REPL. در صورت عدم اجرای REPL بیاثر است.
- -N
- فعالسازی رنگهای ANSI در REPL. در صورت عدم اجرای REPL بیاثر است.
- -r
- باز کردن یک REPL پس از اجرای تمام منابع. به طور پیشفرض، اگر Janet بدون هیچ آرگومانی اجرا شود، یک REPL باز میشود.
- -R
- در صورت استفاده از REPL، بارگذاری پروفایل کاربر از متغیر محیطی JANET_PROFILE غیرفعال میشود.
- -p
- فعالسازی پرچم تداوم (persistent). به طور پیشفرض وقتی Janet در حال اجرای دستورات از یک فایل است و با خطایی مواجه میشود، بلافاصله پس از چاپ پیام خطا خارج میشود. در حالت تداوم، Janet پس از خطا نیز به اجرای دستورات ادامه میدهد. این حالت برای اشکالزدایی و آزمون مناسب است.
- -q
- مخفی کردن لوگو در REPL.
- -k
- اسکریپت را اجرا نمیکند، بلکه تنها آن را کامپایل کرده تا خطاها بررسی شوند. برای بررسی نحوی و تحلیل ایستای اسکریپتها (linting) کاربرد دارد.
- -m syspath
- تنظیم اتصال پویای :syspath روی رشته syspath تا Janet ماژولهای سیستمی را از پوشهای متفاوت با پیشفرض بارگذاری کند. مقدار پیشفرض هنگام ساخت Janet تعیین میشود که در لینوکس و پوزیکس برابر با /usr/local/lib/janet است. در ویندوز مقدار پیشفرضی وجود ندارد. این گزینه جایگزین JANET_PATH میشود.
- -c source output
- پیشکامپایل کد منبع Janet به یک ایمیج (image)، که یک دامپ دودویی برای بارگذاری سریعتر در آینده است. source باید مسیر ماژول Janet برای کامپایل، و output باید مسیر فایل ایمیج حاصل باشد. نام خروجی معمولاً باید به پسوند .jimage ختم شود.
- -i
- هنگام ارسال این پرچم، اسکریپت دادهشده به مفسر به جای یک فایل منبع Janet، به عنوان یک فایل ایمیج Janet در نظر گرفته میشود.
- -l lib
- وارد کردن (import) یک ماژول Janet پیش از اجرای اسکریپت یا REPL. چند فایل را میتوان به این شیوه بارگذاری کرد و دادههای صادرشده از هر فایل در دسترس اسکریپت یا REPL قرار میگیرد.
- -w level
- تنظیم سطح هشدارهای بررسی کد (linting) در Janet. این سطح باید یکی از مقادیر :relaxed، :none، :strict، :normal یا یک عدد Janet باشد. هر پیام لینتینگی که سطحی بالاتر از این تنظیم داشته باشد به صورت هشدار نمایش داده میشود اما کامپایل یا اجرا را متوقف نمیکند.
- -x level
- تنظیم سطح خطای بررسی کد (linting) در Janet. این سطح باید یکی از مقادیر :relaxed، :none، :strict، :normal یا یک عدد Janet باشد. هر پیام لینتینگی که سطحی بالاتر از این تنظیم داشته باشد باعث خطای کامپایل شده و فرایند را متوقف میسازد.
- --
- پایان پردازش آرگومانهای خط فرمان. تمام آرگومانهای پس از این به عنوان نام فایل و سپس آرگومانهای اسکریپت در نظر گرفته میشوند.
محیط (ENVIRONMENT)
JANET_PATH
JANET_PROFILE
JANET_HASHSEED
JANET_HISTFILE
NO_COLOR
نویسنده (AUTHOR)
نوشتهشده توسط Calvin Rose <calsrose@gmail.com>