| FENNEL(1) | General Commands Manual | FENNEL(1) |
نام (NAME)
fennel - یک زبان برنامهنویسی لیسپ که روی Lua اجرا میشود
خلاصه دستور (SYNOPSIS)
fennel [--repl] | [--compile filename] | [--eval source] | [filename] [args ...]
توضیحات (DESCRIPTION)
این صفحه راهنما به طور خلاصه دستور fennel را شرح میدهد.
fennel نقطه ورود اصلی برای Fennel است؛ یک زبان برنامهنویسی لیسپ که بر روی محیطهای زمان اجرای Lua اجرا میشود. بدون هیچ گزینه یا آرگومانی، یک حلقه تعاملی خواندن-ارزیابی-چاپ (REPL) را اجرا میکند.
در صورت دریافت نام یک فایل به عنوان نخستین آرگومان، آن فایل را اجرا کرده و آرگومانهای بعدی را به آن ارسال میکند. کامپایل پیش از موعد (AOT) با پرچم --compile قابل فراخوانی است، در حالی که قطعهکدهای کوتاه را میتوان با آرگومان --eval ارزیابی کرد.
گزینهها (OPTIONS)
خلاصهای از گزینهها در زیر آمده است.
- --repl
- شروع یک نشست تعاملی REPL. در صورت ارائه نشدن هیچ آرگومانی، این گزینه پیشفرض است.
- --compile filename
- انجام کامپایل پیش از موعد بر روی فایل ارائهشده و نوشتن خروجی Lua در خروجی استاندارد.
- --eval source
- ارزیابی یک قطعه کد منبع دادهشده و چاپ نتیجه.
- --no-searcher
- هنگام اجرای یک REPL یا یک فایل، fennel.searcher به طور پیشفرض نصب میشود تا تابع require بتواند علاوه بر فایلهای Lua، فایلهای Fennel را نیز بارگذاری کند. این پرچم این رفتار را غیرفعال میکند. روی کامپایل پیش از موعد تأثیری ندارد.
- --add-package-path path
- افزودن مسیر ارائهشده به package.path تا تابع require بداند هنگام جستجو برای ماژولهای Lua در آنجا جستجو کند.
- --add-fennel-path path
- مشابه مورد بالا، اما برای مسیری از Fennel که هنگام جستجو برای ماژولهای Fennel استفاده میشود.
- --globals VAR1[,VAR2...]
- مجاز شمردن VAR1، VAR2 و غیره به عنوان متغیرهای سراسری علاوه بر مجموعه استاندارد سراسریها. این کار بررسی دقیق متغیرهای سراسری را حتی در کامپایل پیش از موعد (که در غیر این صورت غیرفعال بود) فعال میکند. برای غیرفعال کردن بررسی متغیرهای سراسری از "*" استفاده کنید.
- --globals-only VAR1[,VAR2...]
- مشابه مورد بالا، اما بدون در نظر گرفتن مجموعه متغیرهای سراسری استاندارد.
- --require-as-include
- به جای بارگذاری ماژولهای require شده در زمان اجرا، آنها را به صورت درونخطی (inline) در داخل فایل اصلی در حال کامپایل قرار میدهد. فقط در هنگام کامپایل پیش از موعد کاربرد دارد.
- --to-be-closed
- هنگام کامپایل with-open از قابلیت to-be-closed در نسخه Lua 5.4+ استفاده میکند تا از تداخل با ردگیریها (traces) جلوگیری شود.
- --assert-as-repl
- فراخوانیهای تابع توکار assert از Fennel با فراخوانیهایی به assert-repl جایگزین میشوند تا در صورت شکست assertion، یک REPL آغاز شود که بتوانید در آن به صورت تعاملی اشکالزدایی کنید.
- --lambda-as-fn
- تعاریف تابع lambda را با fn جایگزین میکند، که سربار زمان اجرا ناشی از بررسی تعداد آرگومانها (arity) را حذف میکند.
- --use-bit-lib
- کامپایل عملیات بیتی به منظور استفاده از کتابخانه bitop در LuaJIT به جای عملگرهای بیتی Lua 5.3+.
- --load FILE
- بارگذاری فایل مشخصشده پیش از اجرای هر دستوری.
- --compile-binary FILE OUT LUA_LIB LUA_DIR
- کامپایل FILE به یک فایل باینری مستقل OUT با استفاده از LUA_LIB و فایلهای هدر Lua در LUA_DIR. برای جزئیات به --compile-binary --help مراجعه کنید.
- --no-compiler-sandbox
- عدم محدود کردن محیط کامپایلر (استفادهشده در ماکروها) به یک سندباکس حداقلی.
- --keywords KEYWORD1[,KEYWORD2...]
- در نظر گرفتن این نمادها به عنوان کلمات کلیدی رزروشده Lua.
- -h, --help
- چاپ پیام راهنما و خروج
- -v, --version
- چاپ شماره نسخه و خروج
از متغیر محیطی NO_COLOR برای غیرفعال کردن کدهای فرار در پیامهای خطا استفاده کنید.
همچنین ببینید (SEE ALSO)
معناشناسی (semantics) بسیار نزدیک به Lua است، بنابراین کتابچه راهنمای مرجع Lua نیز مفید است.
جامعه کاربری (COMMUNITY)
فهرست پستی در https://lists.sr.ht/~technomancy/fennel و سامانه ردیابی مشکلات در https://dev.fennel-lang.org قرار دارد. بیشتر گفتگوها در کانال #fennel در گفتگوی Libera صورت میگیرد.
نویسندگان (AUTHORS)
Calvin Rose و Phil Hagelberg و مشارکتکنندگان: https://github.com/bakpakin/Fennel/graphs/contributors
مجوز (LICENSE)
حق نشر © 2016-2025، منتشرشده تحت مجوز MIT/X11