.\" برای مشاهده پیشنمایش صفحه راهنما به صورتی که نمایش داده خواهد شد،
.\" دستور زیر را در ترمینال اجرا کنید:
.\"
.\" > nroff -man julia.1 | less
.\"
.\" از پیشنهادات و بهبودها بسیار استقبال میشود!
.\" این صفحه راهنما تا حد زیادی از مستندات موجود برگرفته شده است.
.\"
.\" کارهای آینده:
.\" ۱. روشی ساده و در صورت امکان قابلحمل برای قرار دادن این صفحه در manpath همگان.
.\" (هدف اصلی این بوده که بتوان به سادگی `man julia` را فراخوانی کرد!)
.\"
.\" بخشهای احتمالی برای افزودن به صفحه راهنما:
.\" - مجوزها
.\" - منابع اینترنتی و/یا مستندات
.\" - متغیرهای محیطی
.\" - همچنین ببینید
.\" - خطاها
.\" - نکات
.TH JULIA 1 2023-09-01 JULIA
.\" برگرفته از صفحه اصلی https://julialang.org
.SH "نام (NAME)"
julia \- یک زبان برنامهنویسی پویا، سطح بالا و با کارایی بالا برای محاسبات فنی
.SH "خلاصه دستور (SYNOPSIS)"
\fBjulia\fR [OPTIONS...] \fB--\fR [PROGRAMFILE] [ARGS...]
اگر یک فایل منبع جولیا به عنوان \fIPROGRAMFILE\fP مشخص شود (اختیاراً به همراه
آرگومانهایی در \fIARGS\fP)، جولیا برنامه را اجرا کرده و خارج میشود.
.SH "توضیحات (DESCRIPTION)"
جولیا (Julia) یک زبان برنامهنویسی پویا، سطح بالا و با کارایی بالا
برای محاسبات فنی است، با نحوی که برای کاربران سایر محیطهای محاسبات فنی
آشنا است.
این زبان یک کامپایلر پیشرفته، اجرای موازی توزیعشده،
دقت عددی و کتابخانه گستردهای از توابع ریاضی را فراهم میکند.
این کتابخانه که بخش عمده آن به خود جولیا نوشته شده است، همچنین کتابخانههای بالغ
و برتر C و Fortran را برای جبر خطی، تولید اعداد تصادفی، پردازش سیگنال
و پردازش رشتهها ادغام میکند.
علاوه بر این، جامعه توسعهدهندگان جولیا با سرعتی بالا بستههای خارجی متعددی را
از طریق مدیر بسته توکار جولیا ارائه میدهند.
برنامههای جولیا حول ارسال چندگانه (multiple dispatch) سازماندهی شدهاند؛
از طریق تعریف توابع و سربارگذاری (overload) آنها برای ترکیبهای گوناگون
از انواع آرگومانها، که میتوانند توسط کاربر نیز تعریف شوند.
برای بررسی عمیقتر منطق طراحی و مزایای جولیا نسبت به سایر سیستمها،
لطفاً راهنمای برخط را ببینید:
https://docs.julialang.org
.SH "گزینهها (OPTIONS)"
.TP
-v, --version
نمایش اطلاعات نسخه
.TP
-h, --help
چاپ گزینههای خط فرمان (همین پیام)
.TP
--help-hidden
چاپ گزینههای نامعمولی که توسط `-h` نمایش داده نمیشوند
.TP
--project[=
/@.]
تنظیم به عنوان پروژه/محیط فعال. گزینه پیشفرض @.
دایرکتوریهای والد را تا زمان یافتن یک فایل Project.toml یا JuliaProject.toml جستجو
میکند.
.TP
-J, --sysimage
راهاندازی با فایل ایمیج سیستم دادهشده
.TP
-H, --home
تنظیم مکان فایل اجرایی `julia`
.TP
--startup-file={yes*|no}
بارگذاری `JULIA_DEPOT_PATH/config/startup.jl`؛ اگر متغیر محیطی `JULIA_DEPOT_PATH`
تنظیم نشده باشد، `~/.julia/config/startup.jl` بارگذاری میشود
.TP
--handle-signals={yes*|no}
فعال یا غیرفعال کردن گردانندههای سیگنال پیشفرض جولیا
.TP
--sysimage-native-code={yes*|no}
استفاده از کد بومی (native) از ایمیج سیستم در صورت موجود بودن
.TP
--compiled-modules={yes*|no|existing|strict}
فعال یا غیرفعال کردن پیشکامپایل افزایشی ماژولها.
گزینه `existing` امکان استفاده از ماژولهای کامپایلشده موجود را که قبلاً
پیشکامپایل شدهاند فراهم میکند، اما اجازه ایجاد فایلهای پیشکامپایل جدید را نمیدهد.
گزینه `strict` مشابه است، اما در صورت یافت نشدن فایل پیشکامپایل با خطا متوقف میشود.
.TP
--pkgimages={yes*|no|existing}
فعال یا غیرفعال کردن استفاده از حافظه پنهان کد بومی در قالب pkgimages.
گزینه `existing` امکان استفاده از pkgimages موجود را فراهم میکند اما اجازه ایجاد موارد جدید را نمیدهد
.TP
-e, --eval
ارزیابی
.TP
-E, --print
ارزیابی و نمایش نتیجه
.TP
-m, --module [args]
اجرای نقطه ورود `Package` (تابع `@main`) با `args`
.TP
-L, --load
بارگذاری فوری روی همه پردازندهها
.TP
-t, --threads {auto|N[,auto|M]}
فعال کردن N[+M] رشته (thread)؛ N رشته به استخر رشته `default`
اختصاص داده میشوند، و اگر M مشخص شده باشد، M رشته به استخر رشته
`interactive` تخصیص مییابند؛ مقدار `auto` تلاش میکند تعداد پیشفرض مفیدی
از رشتهها را تشخیص دهد اما ممکن است رفتار دقیق آن در آینده تغییر کند.
در حال حاضر بر اساس رابط تخصیص وابستگی (affinity) مختص سیستمعامل
در صورت پشتیبانی (لینوکس و ویندوز)، N را روی تعداد CPUهای تخصیصیافته به این
فرآیند جولیا تنظیم میکند یا در صورت عدم پشتیبانی (مکاواس) یا پیکربندی نشدن
وابستگی فرآیند، آن را روی تعداد رشتههای پردازنده قرار میدهد، و M را برابر با 1 تعیین میکند.
.TP
--gcthreads=N[,M]
استفاده از N رشته برای مرحله علامتگذاری (mark phase) جمعآوری زباله (GC) و M رشته (۰ یا ۱) برای مرحله جاروب همزمان (concurrent sweeping phase) جمعآوری زباله.
در صورت عدم تعیین، N روی تعداد رشتههای محاسباتی و M روی ۰ تنظیم میشود.
.TP
-p, --procs {N|auto}
مقدار صحیح N تعداد N فرآیند کارگر (worker process) محلی اضافی را راهاندازی میکند؛ `auto` به تعداد
رشتههای محلی CPU (هستههای منطقی) کارگر راهاندازی میکند
.TP
--machine-file
اجرای فرآیندها روی میزبانهای فهرستشده در
.TP
-i, --interactive
حالت تعاملی؛ REPL اجرا شده و `isinteractive()` برابر با true خواهد بود
.TP
-q, --quiet
راهاندازی ساکت: بدون بنر، متوقف کردن هشدارهای REPL
.TP
--banner={yes|no|short|auto*}
فعال یا غیرفعال کردن بنر راهاندازی
.TP
--color={yes|no|auto*}
فعال یا غیرفعال کردن متن رنگی
.TP
--history-file={yes*|no}
بارگذاری یا ذخیره تاریخچه
.TP
--depwarn={yes|no*|error}
فعال یا غیرفعال کردن هشدارهای منسوخ شدن نحو و متد (`error` هشدارها را به خطا تبدیل میکند)
.TP
--warn-overwrite={yes|no*}
فعال یا غیرفعال کردن هشدارهای بازنویسی متد (method overwrite)
.TP
--warn-scope={yes*|no}
فعال یا غیرفعال کردن هشدار برای دامنه سطح بالای مبهم (ambiguous top-level scope).TP
-C, --cpu-target=
محدود کردن استفاده از قابلیتهای CPU حداکثر تا ؛ برای مشاهده گزینههای موجود مقدار آن را روی `help` قرار دهید
.TP
-O, --optimize={0|1|2*|3}
تنظیم سطح بهینهسازی (در صورت استفاده از `\-O` بدون سطح، سطح ۳ اعمال میشود)
.TP
--min-optlevel={0*|1|2|3}
تعیین حد پایین (حداقل) برای سطح بهینهسازی
.TP
-g, --debug-info={0|1*|2}
تنظیم سطح تولید اطلاعات اشکالزدایی (در صورت استفاده از `\-g` بدون سطح، سطح ۲ اعمال میشود)
.TP
--inline={yes*|no}
کنترل مجاز بودن درخطسازی (inlining)، از جمله بازنویسی اعلانهای @inline
.TP
--check-bounds={yes|no|auto*}
اعمال بررسی محدودهها همیشه، هرگز، یا با رعایت اعلانهای @inbounds
.TP
--math-mode={ieee|user*}
پیروی همیشگی از معناشناسی ممیز شناور `ieee` یا رعایت اعلانهای `@fastmath`
.TP
--polly={yes*|no}
فعال یا غیرفعال کردن بهینهساز چندوجهی Polly (اعلان @polly را بازنویسی میکند)
.TP
--code-coverage[={none*|user|all}]
شمارش دفعات اجرای خطوط کد مبدأ (حذف مقدار معادل با `user` است)
.TP
--code-coverage=@
شمارش دفعات اجرای خطوط کد مبدأ در یک فایل یا فایلهای تحت یک دایرکتوری مشخص. برای تعیین این گزینه باید یک `@` پیش از مسیر قرار گیرد. علامت `@` بدون مسیر، دایرکتوری فعلی را ردیابی خواهد کرد.
.TP
--code-coverage=tracefile.info
الحاق اطلاعات پوشش کد به فایل ردگیری LCOV (نام فایل از نشانههای قالببندی پشتیبانی میکند)
.TP
--track-allocation[={none*|user|all}]
شمارش بایتهای تخصیصیافته توسط هر خط از کد مبدأ (حذف مقدار معادل با `user` است)
.TP
--track-allocation=@
شمارش بایتها اما فقط در فایلهایی که ذیل مسیر فایل/دایرکتوری دادهشده قرار دارند. پیشوند `@` برای انتخاب این گزینه الزامی است. علامت `@` بدون مسیر، دایرکتوری فعلی را ردیابی خواهد کرد.
.TP
--bug-report=KIND
راهاندازی یک نشست گزارش باگ. میتواند برای شروع REPL، اجرای یک اسکریپت یا ارزیابی عبارتها به کار رود. ابتدا تلاش میکند از BugReporting.jl نصبشده در محیط فعلی استفاده کند و در غیر این صورت به آخرین نسخه سازگار BugReporting.jl بازمیگردد. برای اطلاعات بیشتر، \-\-bug\-report=help را ببینید.
.TP
--heap-size-hint=
در صورتی که مصرف حافظه بیشتر از مقدار مشخصشده باشد، بازیافت حافظه (garbage collection) را اجبار میکند. مقدار ممکن است به صورت تعداد بایت، اختیاری با واحدهای KB ،MB ،GB یا TB، یا به صورت درصدی از حافظه فیزیکی با % مشخص شود.
.TP
--compile={yes*|no|all|min}
فعال یا غیرفعال کردن کامپایلر JIT، یا درخواست کامپایل جامع یا حداقلی
.TP
--output-o
تولید یک فایل شیء (شامل دادههای تصویر سیستم)
.TP
--output-ji
تولید یک فایل داده تصویر سیستم (.ji)
.TP
--strip-metadata
حذف docstringها و اطلاعات مکان کد مبدأ از تصویر سیستم
.TP
--strip-ir
حذف IR (نمایش میانی) توابع کامپایلشده
.TP
--output-unopt-bc
تولید LLVM bitcode بهینهنشده (.bc)
.TP
--output-bc
تولید LLVM bitcode (.bc)
.TP
--output-asm
تولید یک فایل اسمبلی (.s)
.TP
--output-incremental={yes|no*}
تولید یک فایل خروجی افزایشی (به جای فایل کامل)
.TP
--trace-compile={stderr|name}
چاپ دستورهای precompile برای متدهای کامپایلشده در حین اجرا یا ذخیره آنها در stderr یا یک مسیر. متدهایی که مجدداً کامپایل شدهاند به رنگ زرد یا در صورت عدم پشتیبانی از رنگ، با یک توضیح پایانی چاپ میشوند
.TP
--trace-compile-timing=
در صورت فعال بودن \-\-trace\-compile، مدتزمان کامپایل هر کدام را بر حسب میلیثانیه نشان میدهد
.TP
--trace-dispatch={stderr|name}
چاپ دستورهای precompile برای متدهای توزیعشده (dispatched) در حین اجرا یا ذخیره آنها در stderr یا یک مسیر.
.TP
--task-metrics={yes|no*}
فعالسازی جمعآوری معیارهای به ازای هر وظیفه (per-task metrics).
.TP
-image-codegen
اجبار به تولید کد در حالت تصویرسازی (imaging mode)
.TP
--permalloc-pkgimg={yes|no*}
رونوشت برداشتن از بخش دادههای تصاویر بستهها در حافظه.SH "فایلها و محیط (FILES AND ENVIRONMENT)"
مشاهده کنید: https://docs.julialang.org/en/v1/manual/environment-variables
.SH "گزارش باگها (BUGS)"
لطفاً هرگونه باگ را با استفاده از سامانه ردیابی باگ GitHub گزارش دهید:
https://github.com/julialang/julia/issues?state=open
.SH "نویسندگان (AUTHORS)"
مشارکتکنندگان: https://github.com/JuliaLang/julia/graphs/contributors
.SH "منابع اینترنتی (INTERNET RESOURCES)"
وبسایت: https://julialang.org
.br
مستندات: https://docs.julialang.org
.br
نصب: https://julialang.org/install
.SH "مجوز (LICENSING)"
Julia یک پروژه متنباز است و تحت مجوز MIT عرضه میشود.