Agena

نرم افزار تصویر:
Agena
جزئیات نرم افزار:
نسخه: 2.11.5 به روز شده
ها تاریخ: 22 Jun 18
توسعه دهنده: Alexander Walz
پروانه: رایگان
محبوبیت: 23

Rating: nan/5 (Total Votes: 0)

Agena یک زبان برنامه نویسی رویه ای است که برای استفاده روزمره طراحی شده است، رایگان، چند پلت فرم و آسان برای یادگیری. این را می توان در محیط های گرافیکی، علمی، زبانی و آموزشی و نیز برنامه های کاربردی اسکریپت، از تمامی سیستم عامل های اصلی پشتیبانی کرد.


امکانات متعدد کنترل جریان را ارائه می دهد

این نرم افزار امکانات متعددی را برای کنترل جریان فراهم می کند، مانند اگر، سپس. elif، شرایط دیگر، مورد و شرایط دیگر، اپراتور، عددی برای، از، به، و توسط حلقه، عددی ترکیبی برای حلقه ها و در حالی که، در حلقه ها، در حالی که و انجام / به عنوان حلقه ها، یک جمله skip، یک وقفه بیانیه، و نیز تایید نوع داده.


تخصیص شمارش را فراهم می کند

از جمله ویژگی های دیگر می توان به یک کتابخانه ریاضی دقت دلخواه اشاره کرد، تنظیمات آسان محیط شخصی، یک سیستم بسته بندی آسان برای استفاده، شمارش شمارش، کنترل محدوده از طریق کلمات کلیدی epocs / scope و بسیاری از ویژگی های جذاب دیگر.

تحت کاپوت و در دسترس بودن

یک نگاه سریع به زیر هود ما را نشان می دهد که این پروژه در زبان های برنامه نویسی C، BASIC، Lua و ALGOL 68 نوشته شده است، به این معنی که نحو آن مشابه نحو این پروژه ها است. این برنامه به طور کامل در محیط کنسول / ترمینال اجرا می شود، به این معنی که هیچ رابط کاربری گرافیکی (GUI) ندارد.


کشتی ها با یک ویرایشگر ساده

با وجود این که نرم افزار Agena یک برنامه خط فرمان است، آن را با یک نرم افزار ویرایشگر ساده گرافیکی به نام AgenaEdit، که از یک محیط Agena و توانایی برجسته کردن نحو یکپارچه برخوردار است، حمل می کند. این به شدت توسط یک ویرایشگر مشابه ساخته شده توسط بیل اسپیتزاک برای ابزار کلاسیک C ++ GUI متقابل پلت فرم FLTK الهام شده است.


با این نسخهها کار بر روی Raspberry Pi

قابلیت های گرافیکی Agena در گنو / لینوکس، سولاریس، سیستم عامل مک ایکس، مایکروسافت ویندوز، سیستم عامل های eComStation OS / 2 و DOS پشتیبانی می شوند. این را می توان به راحتی در هر دو پلت فرم سخت افزاری 64 بیتی و 32 بیتی نصب کرد و با موفقیت بر روی صفحه رایانه Raspberry Pi مبتنی بر ARM آزمایش شده است.

چه جدید در این نسخه است:

تابع محاسبه و آمار جدید

چه جدید در این نسخه است:

تابع محاسبه و آمار جدید

چه جدید در نسخه 2.9.4 جدید است:

تابع محاسبه و آمار جدید

چه جدید در نسخه 2.8.5 جدید است:

تابع محاسبه و آمار جدید

چه جدید در نسخه 2.8.2 جدید است:

تابع محاسبه و آمار جدید

در نسخه 2.6.1 جدید چه جدید است:

اکنون می توانید با استفاده از گزینه `outlier = 'lower'` یا` `outlier =' lower'` می توانید به طور خاص برای outliers lower یا upper را چک کنید outlier = 'upper'` به ترتیب.
`bags.remove` باعث گسل های تقسیم بندی می شود. این ثابت شده است. علاوه بر این، تمام تابع های کیسه ای که در C اجرا می شوند، داخلی تغییر کرده اند.
Metamethods (undocumented) برای `+`، `-`، و * * در صورتی که بسته ی کیسه با عملکرد` یا `یا بیانیه ی import / alias به کار رفته باشد، کار نمی کند. این ثابت شده است.

چه جدید در نسخه 2.5.4 است:

'stats.chauvenet` اکنون می توانید به طور خاص برای خروجی های پایین یا بالا با انتخاب گزینه' outlier = 'lower'` یا' outlier = 'upper'` به ترتیب به طور مشخص بررسی کنید.
`bags.remove` باعث گسل های تقسیم بندی می شود. این ثابت شده است. علاوه بر این، تمام تابع های کیسه ای که در C اجرا می شوند، داخلی تغییر کرده اند.
Metamethods (undocumented) برای `+`، `-`، و * * در صورتی که بسته ی کیسه با عملکرد` یا `یا بیانیه ی import / alias به کار رفته باشد، کار نمی کند. این ثابت شده است.

چه جدید در 2.5.3 از جدید است:

در حال حاضر `stats.chauvenet` می توانید با حذف گزینه 'outlier =' lower'` یا` `outlier = outlier = 'upper'` به ترتیب.
`bags.remove` باعث گسل های تقسیم بندی می شود. این ثابت شده است. علاوه بر این، تمام تابع های کیسه ای که در C اجرا می شوند، داخلی تغییر کرده اند.
Metamethods (undocumented) برای `+`، `-`، و * * در صورتی که بسته ی کیسه با عملکرد` یا `یا بیانیه ی import / alias به کار رفته باشد، کار نمی کند. این ثابت شده است.

چه جدید در نسخه 2.4.2 است:


`stats.chauvenet` می تواند به طور خاص برای outliers پایین یا بالا با عبور از گزینه 'outlier =' lower'` یا 'outlier =' upper'` به ترتیب به طور مشخص.
`bags.remove` باعث گسل های تقسیم بندی می شود. این ثابت شده است. علاوه بر این، تمام تابع های کیسه ای که در C اجرا می شوند، داخلی تغییر کرده اند.
Metamethods (undocumented) برای `+`، `-`، و * * در صورتی که بسته ی کیسه با عملکرد` یا `یا بیانیه ی import / alias به کار رفته باشد، کار نمی کند. این ثابت شده است.

چه جدید در نسخه 2.3.0 RC1 وجود دارد:

عدد 'for' loops اکنون از کلمه کلیدی `downto 'حمایت می کند، بنابراین شما می توانید بدون استفاده از اندازه منفی' by` اقدام کنید. در متن 'downto'، اندازه گام به وسیله 'by' همیشه باید مثبت باشد. از 'شروع' و 'به' توقف مقادیر واجب است در هنگام استفاده از کلمه کلیدی 'downto'.
Metamethods __finite، __entier و __sqrt دیگر پشتیبانی نمی شوند. در عوض، سه متادوده جدید برای عملیات در ساختارها اضافه شده است: __ union برای عملیات اتحادیه، __interest برای تعیین تقاطعها و __minus برای تفاوتها. بنابراین بسته کیسه اکنون از این سه عملیات پشتیبانی می کند.
اپراتور تقسیم عدد صحیح از روش Metamethod خود پشتیبانی نمیکند و به جای آن از یک divolo شناور استفاده میکند (`/ 'operator). این ثابت شده است.
تابع جدید `stats.gini` ضریب جینی را تعیین می کند، معیار برابر (برابر) است.
تابع جدید `stats.zscore` یک تابع محاسبه z-score (نمره استاندارد) یک نمونه را نشان می دهد - تعداد انحرافات استاندارد که نمونه بالاتر یا کمتر از میانگین توزیع است.

'stats.sorted` اکنون به طور پیش فرض از الگوریتم Introsort به جای Quicksort استفاده می کند. این می تواند سه بار محاسبه را در موقعیت های ناخوشایند (که Quicksort به عملیات O (n ^ 2) نیاز دارند، سرعت می دهد)، در حالی که عملکرد در شرایط عادی را فدا نمی کند. در واقع Introsort به طور پیش فرض از Quicksort استفاده می کند و سپس به طور خودکار به Heapsort تغییر می کند اگر عمق بازگشت به 2 * log (n، 2) می رسد، که n تعداد عناصر در یک ساختار است.
شما می توانید این منطق را با عبور از گزینه جدید quicksort لغو کنید که تنها از روش کوککسورت بازگشتی سنتی برای مرتب سازی اعداد استفاده می کند. همچنین، 'stats.sorted` هم اکنون می تواند از الگوریتم Heapsort منحصرا اگر گزینه جدید heapsort منتقل می شود و الگوریتم Quicksort غیر بازگشتی که توسط Niklaus Wirth با گزینه جدید' nrquicksort 'طراحی شده است، استفاده شود.
تابع جدید 'stats.meanmed` هر دو مقدار ریاضی و متوسط ​​از یک توزیع را به دست می دهد، یا به صورت متناوب نسبت به میانگین و میانگین، سرعت بخشیدن به زمان محاسبه زمانی که این مقادیر مورد نیاز حدود 20 درصد است.
پیام خطای اپراتور `size 'بهبود یافته است.

چه جدید در نسخه 2.1.1 است:

توابع و تکه های جدید:
`سعی کنید / گرفتن ': مشخص کردن صریح متغیر خطا پس از` catch' نشانه در حال حاضر اختیاری است. اگر هیچ متغیر خطا داده نشده است، سپس پیام خطا به طور خودکار به متغیر `lasterror` محلی ذخیره می شود و کلمه کلیدی` then` باید از آن خارج شود:
& gt؛ تلاش كردن
& gt؛ خطا ("اوو"!)
& gt؛ گرفتن
& gt؛ چاپ (lasterror)
& gt؛ yrt؛
وای!
بیانیه `try / catch` گاهی اوقات در روش (متغیر خطای نامشخص) کار نمی کند. این ثابت شده است.
عملکرد net.wget جدید جدید صفحات HTML را از طریق وب دانلود می کند.
10٪ `skycrane.counter` را تکان داد. در صورتی که آرگومان سوم آرگومان رشته 'ozawa' باشد، این عمل به صورت اختیاری Kahan-Ozawa را جایگزین الگوریتم Summing اصلی Kahan می کند. منابع مربوط به C برای جلوگیری از بهینه سازی کامپایلر اصلاح شده اند که می تواند بهینه سازی ها را نیز لغو کند.
`argerror` اکنون نام نوع تعریف شده توسط کاربر یک مقدار دریافت شده در پیغام خطا را چاپ می کند. اگر مقدار یک نوع تعریف شده توسط کاربر نداشته باشد، نوع پایه آن صادر می شود.

گزینه new 'a' برای `debug.getinfo` تعداد استدلالهایی را که انتظار می رود یک روش است، به لطف Rob Hoelz 'LuaPowerPatch باز می گرداند.
پیام خطای 'index out-of-range' برای رشته ها بهبود یافته است.
فایلهای `stats.agn`،` linalg.agn`، `library.agn` و` ansi.agn` را با توجه به خطا در آنها مرتب کرده اند.

چه جدید در نسخه 2.1.0 است:

برای نوع جدیدی از خطا، دستور جدید `try / catch 'معرفی شده است. این در سال 2008 توسط Hu Qiwei برای Lua 5.1 اختراع شده و نوشته شده است.
به طور کلی، هر جمله ای که انتظار می رود استثنا باشد، می تواند به clause `try 'قرار گیرد. اگر یک خطا صادر شده است، تولید شده توسط یک تماس صریح به عملکرد `خطا 'و یا به هر عبارت، عملکرد، و یا عبارت دیگر، کنترل بلافاصله به بند مربوط به` catch' در صورت وجود یا به پایان `try / yrt `statement اگر` catch 'clause داده نشده است، نادیده گرفتن هر عبارت دیگر در clause `try`.
امکانات محافظت از خطا `محافظت / lasterror` هنوز و همیشه پشتیبانی می شوند. دستور کنترل جدید همچنین با شکستن، `skip`،` redo`، و `return` بی وقفه کار می کند.
بیانیه جدید `redo` دوباره تکرار فعلی یک« for / to` و «for / in` را از ابتدا آغاز می کند.
اپراتور جدید `rece_` معکوس را از یک عدد x باز می کند. این معادل با عبارت 1 / x است، اما سریعتر است.

عملکرد جدید 'stats.ema` محاسبه میانگین متحرک متحرک یک توزیع است. تابع جدید `stats.gema` یک تابع تکرار را باز می کند که میانگین متحرک متحرک مربوط به یک توزیع را نشان می دهد.
`` *٪ `،` +٪ `و` -٪ `به جای نتایج صحیح اگر undefined 'بازگشت' undefined بازگشت، اگر صفر راست آنها صفر بود. این ثابت شده است.
پیغام خطا در net.survey را ثابت کرد.
پیام های خطایی بهبود یافته برای ردیابی خارج از محدوده جفت و رشته.
در ANSI، Solaris و نسخه های DOS، اپراتور `int 'تنظیم شده است.
تابع API جدید C `agn_arraytoseq` یک آرایه عددی را به یک دنباله تبدیل می کند و این توالی جدید را در بالای پشته فشار می دهد.
راهنمای کتاب را به روز کرد.

چه جدید در نسخه 2.1.0 RC وجود دارد:

بیانیه جدید `redo` دوباره تکرار فعلی یک« for / to` و «for / in` را از ابتدا آغاز می کند. مثال:
& gt؛ پرچم: = درست است & gt؛ برای j در [10، 11، 12] do & gt؛ چاپ ('قبل'، ج، پرچم)؛ & gt؛ اگر پرچم و j = 11 و سپس & gt؛ پرچم روشن & gt؛ چاپ ('- & gt؛'، j، پرچم، 'پرش به عقب') & gt؛ دوباره & gt؛ fi؛ & gt؛ چاپ (بعد از، j، پرچم) & gt؛ تا ج & gt؛ 12؛ قبل از 10 درست بعد از 10 درست قبل از 11 درست است - & gt؛ 11 پیش گویی کاذب قبل از 11 کاذب پس از 11 کاذب قبل از 12 کاذب پس از 12 کاذب
اپراتور جدید `rece_` معکوس را از یک عدد x باز می کند. این معادل با عبارت 1 / x است، اما سریعتر است.
عملکرد جدید 'stats.ema` محاسبه میانگین متحرک متحرک یک توزیع است. تابع جدید `stats.gema` یک تابع تکرار را باز می کند که میانگین متحرک متحرک مربوط به یک توزیع را نشان می دهد. برای استفاده از آن، لطفا به فایل src / stats.c نگاه کنید، C functions * ema.
`` *٪ `،` +٪ `و` -٪ `به جای نتایج صحیح اگر undefined 'بازگشت' undefined بازگشت، اگر صفر راست آنها صفر بود. این ثابت شده است.
پیغام خطا در net.survey را ثابت کرد.

تابع API جدید C `agn_arraytoseq` یک آرایه عددی را به یک دنباله تبدیل می کند و این دنباله جدید را در بالای ستون هل می دهد.

در نسخه 2.0.0 جدید است:

اظهارات و توابع جدید:
Agena 2.0 سازگار با Agena 1.12 است، به جز اینکه "import '،' alias '،' تا 'و' onsuccess 'برچسب ها اکنون کلیدواژه هستند و دیگر نمی توانند بعنوان متغیر استفاده شوند. در حال حاضر Solaris، دبیان (x86، PowerPC، Raspberry Pi)، ویندوز، مک و نصب کننده DOS در دسترس برای 2.0 وجود دارد، از جمله Primer و Reference که تمام ویژگی های جدید را در جزئیات توضیح می دهد.
انواع حلقه جدید `for / as` و` for / until` وضعیت را در انتهای تکرار فعلی بررسی می کنند و یا تکرار بعدی را شروع می کنند و یا حلقه را ترک می کنند. این کار با هر دو "برای / به"، و همچنین "برای / در" حلقه. در حقیقت، هر دو نوع یک حلقه را حداقل یک بار اجرا می کنند تا شرایط داده شده بررسی شود.
مثال ها:
& gt؛ برای من تا 5 انجام دهید
& gt؛ چاپ (من)
& gt؛ همانطور که من & lt؛ 3
& gt؛ برای من در [1، 2، 3، 4، 5] انجام دهید
& gt؛ چاپ (من)
& gt؛ تا زمانی که i & gt؛ = 3
حلقه do / until` جدید تا زمانی که شرایط خاصی برآورده می شود، آنرا اصلاح می کند:
& gt؛ c: = 0؛
& gt؛ انجام دادن
& gt؛ c c؛
& gt؛ چاپ (c)
& gt؛ تا c & gt؛ = 3در حلقه های عددی `for`، clause` to` ممکن است دیگر به آن داده نشود. در عوض، هنگام خروج از clause `to`، حلقه تا زمانی که بزرگترین تعداد قابل نمایش در پلتفرم شما، در C HUGE_VAL، رسیده است:
& gt؛ برای من انجام می دهم
& gt؛ چاپ (من)
& gt؛ فرد
clause جدید `insuccess` در عبارت` if` و `case` یک تکه را اجرا می کند اگر حداقل یکی از شرایط درست باشد. مثال ها:
& gt؛ پرچم: = دروغین
& gt؛ اگر 1 = 0 و سپس
& gt؛ چاپ (0)
& gt؛ elif 1 = 1 سپس
& gt؛ چاپ (1)
& gt؛ موفقیت
& gt؛ پرچم: = درست است
& gt؛ چیز دیگری
& gt؛ چاپ (-1)
& gt؛ fi؛
& gt؛ چاپ (پرچم)؛
درست است
& gt؛ پرچم: = دروغین
& gt؛ اگر 1 = 0 و سپس
& gt؛ چاپ (0)
& gt؛ elif 1 = 0 سپس
& gt؛ چاپ (1)
& gt؛ موفقیت
& gt؛ پرچم: = درست است
& gt؛ چیز دیگری
& gt؛ چاپ (-1)
& gt؛ fi؛
& gt؛ چاپ (پرچم)؛
نادرست
& gt؛ پرچم: = دروغین
& gt؛ a: = 2؛
& gt؛ مورد a
& gt؛ از 1 بعد از آن
& gt؛ چاپ (1)
& gt؛ از 2 بعد از آن
& gt؛ چاپ (2)
& gt؛ موفقیت
& gt؛ پرچم: = درست است
& gt؛ چیز دیگری& gt؛ چاپ (-1)
& gt؛ esac؛
& gt؛ چاپ (پرچم)؛
درست است
بیانیه جدید `واردات 'اجازه می دهد تا یک یا چند کتابخانه را بدون وارد کردن نام خود به نقل قول وارد کنید، مثلا "import calc، stats" معادل "readlib ('calc'، 'stats') است".
گزینه 'نام مستعار' به عبارت `import` نام یک یا چند نام کوتاه را به توابع کتابخانه ای که در آن آغاز شده اند، اختصاص داده است، به عنوان مثال "واردات کالک نام مستعار xpdiff" معادل "با ( 'کالک'، 'xpdiff')"، و "واردات مستعار کالک" معادل است "با ( 'کالک')" است.
اپراتور جدید `..` اجازه می دهد فهرست جداول را حتی اگر عملیات سمت چپ آن را به null ارزیابی کند. در این مورد، `null` بازگردانده می شود و هیچ 'تلاش برای فهرست فیلد ... (یک مقدار صفر)' خطا صادر می شود. این مشابه عمل 'getentry` است اما سه بار سریعتر است. مثال ها:
& gt؛ ایجاد جدول؛
& gt؛ a.b:
خالی
& gt؛ a.b.c:
خطا در stdin در خط 1:
تلاش برای نشان دادن فیلد `b` (یک مقدار صفر)
& gt؛ a..b..c:
خالی
& gt؛ ایجاد جدول؛
& gt؛ a [1]:
خالی
& gt؛ a [1] [2]:
خطا در stdin در خط 1:
تلاش برای نشان دادن فیلد "؟" (یک مقدار صفر)
& gt؛ a .. [1] .. [2]:
خالی

تابع جدید `drem` باقی مانده از تقسیم عدد صحیح x / y را ارزیابی می کند، اما بر خلاف` irem`، x / y نسبت به عدد صحیح داخلی به جای صفر برابر می کند.
تابع جدید `skycrane.todate` تاریخ و زمان فعلی را به عنوان یک رشته فرمت شده به ارمغان می آورد.
تابع جدید `io.truncate` فایل را در موقعیت فایل فعلی حذف می کند.
تابع جدید `io.move` موقعیت فایل را یک تعداد مشخصی از کاراکترها به سمت چپ یا راست تغییر می دهد.
تابع جدید `io.filesize` مقدار یک فایل را باز می کند.
`readlib` اکنون تنها رشته ها را به عنوان استدلال هایش می پذیرد. اعداد دیگر اجازه ندارند.
اگر آخرین بحث با `با` بولین `false` باشد، این تابع نام کوتاهی را به کنسول (stdout) نمی نویسد.
`strings.fields` هم اکنون یک توالی از عدد شاخص را می پذیرد. با این وجود، نمیتواند شاخص "0" را طولانیتر بپذیرد.
Installer Raspberry Pi Wheezy در حال حاضر شامل بسته گرافیکی `gdi` می باشد.
فایل `change.log 'در حال حاضر به درستی در ویندوز نمایش داده می شود.

چه جدید در نسخه 2.0.0 RC3 است:


انواع حلقه جدید `for / as` و` for / until` وضعیت را در انتهای تکرار فعلی بررسی می کنند و یا تکرار بعدی را شروع می کنند و یا حلقه را ترک می کنند. این کار با هر دو برای / به، و همچنین برای / در حلقه ها کار می کند.

در نسخه 2.0.0 RC2 چه جدید است:



انواع حلقه جدید `for / as` و` for / until` شرایطی را در انتهای تکرار فعلی بررسی می کنند و یا تکرار بعدی را شروع می کنند و یا حلقه را ترک می کنند. این کار با هر دو برای / به، و همچنین برای / در حلقه ها کار می کند.

چه جدید در نسخه 2.0.0 RC1 وجود دارد:


بیانیه جدید `واردات 'اجازه می دهد تا یک یا چند کتابخانه را بدون وارد کردن نام خود به نقل قول وارد کنید، مثلا "import calc، stats" معادل "readlib ('calc'، 'stats') است".
گزینه 'نام مستعار' به عبارت `import` نام یک یا چند نام کوتاه را به توابع کتابخانه ای که در آن آغاز شده اند، اختصاص داده است، به عنوان مثال "واردات کالک نام مستعار xpdiff" معادل "با ( 'کالک'، 'xpdiff')"، و "واردات مستعار کالک" معادل است "با ( 'کالک')" است.
اپراتور جدید `..` اجازه می دهد فهرست جداول را حتی اگر عملیات سمت چپ آن را به null ارزیابی کند. در این مورد، `null` بازگردانده می شود و هیچ 'تلاش برای فهرست فیلد ... (یک مقدار صفر)' خطا صادر می شود. این مشابه عمل 'getentry` است اما سه بار سریعتر است.

چه جدید در نسخه 1.12.9 جدید است:

توابع جدید `io.getclip` و` io.putclip` متون مبادله بین Agena و کلیپ بورد (فقط ویندوز).
'stats.prange' در C بازنویسی شده و به 60٪ سریعتر تبدیل شده است.
`os.cpuinfo` اکنون اطلاعات صحت و بیشتر بر روی سیستم های مبتنی بر ARM را باز می کند.
در DOS و سیستم های یونیکس از جمله Mac OS X و تنها در دامنه پیچیده، انحراف از پایه 0 به شاخص 0 + r * I، با هر هر شناور غیر صفر، به جای 0. بازگشت 'undefined'. این شده است درست شد.
در DOS و سیستم های یونیکس از جمله Mac OS X و تنها در دامنه پیچیده، انحراف از پایه 0 به exponent r + 0 * I، با r هر شناور مثبت، به جای 0. بازگشت به 'undefined'. این ثابت شده است.
`stats.obcount` و` stats.obpart` نمیتوانند مقادیر را در نیمه راستترین قسمت قرار دهند. این ثابت شده است.
`calc.nakspline`،` calc.naksplinecoeffs`، `calc_clampedspline`، و` calc_clampedsplinecoeffs` موجب گسل های تقسیم بندی شده با ساختار می شوند که دارای نقاط بسیار کمی هستند، یعنی جفت. این با بازگشت `شکست 'در این موارد ثابت شده است.

خطاهای تخریب حافظه احتمالی از 'calc.neville`، `calc.interp`،` calc.newtoncoeffs`، `calc.naksplinecoeffs`،` calc.clampedsplinecoeffs`، `calc.nakspline` و` calc .clampedspline`.
تابع API جدید C `agn_checkinteger` بررسی می کند که آیا یک آرگومان یک عدد و یک عدد صحیح است و بر خلاف` luaL_checkinteger` - خطایی در غیر این صورت خطا می کند.

چه جدید در نسخه 1.9.0 است:


تابع `متناوب 'جدید اولین argument خود را باز می کند اگر استدلال دوم آن null باشد. در غیر این صورت، استدلال دوم خود را باز می گرداند.
ب-سوئیچ به اجرایی Agena برداشته شده است زیرا خروجی آن همان گزینه -v بود.
نسخه های ویندوز و یونیکس / مک از `strings.utf8size` حاوی نشت حافظه بالقوه بودند؛ این تغییر کرده است
تمام DLLs / SO باینری از کتابخانه های اضافی دیگر حاوی کد استفاده نشده، با توجه به سیستم عامل، اندازه آنها را تا 10٪ کاهش می دهد. فایل های ایجاد شده و منابع قبلا وارد فایل های header نشده استفاده شده تغییر یافته است. به عنوان مثال، این به طور کلی باعث کاهش حجم فایل های باینری ویندوز با 55 کیلوبایت می شود.
مجموعه آزمون را گسترش داد.
فایل های برنامه را به روز کرد.

چه جدید در نسخه 1.6.0 است:

توابع و ویژگی های جدید:
تابع جدید `checktype` تعیین می کند که آیا تمام مقادیر در ساختار یک نوع داده شده است.
تابع جدید `isint` بررسی می کند که آیا تمام استدلال های آن اعداد صحیح هستند.
تابع جدید `strings.dleven` فاصله Damerau-Levensteinin دو رشته را باز می کند.
تابع جدید `stats.ad`، انحراف مطلق تمام مقادیر در یک ساختار را تعیین می کند.
تابع جدید `stats.countentries` شمارش تعداد وقوع تمام عناصر در یک ساختار را می دهد.
تابع جدید `stats.deltalist` یک ساختار delta عناصر همسایه مربوطه را باز می گرداند.
تابع جدید `stats.gmean` میانگین ابعاد هندسی یک ساختار را باز می کند.
تابع جدید `stats.hmean` میانگین هارمونیک یک ساختار را باز می کند.
تابع جدید `stats.ios` یک شاخص ثابت شده در مورد ثبات در یک توزیع را نشان می دهد.
تابع جدید `stats.iqr` محدوده interquartile را باز می کند.
تابع جدید `stats.issorted` بررسی می کند که آیا تمام اعداد در یک ساختار مرتب شده اند به ترتیب صعودی.
تابع جدید `stats.moment` لحظه داده های داده شده در مورد مبدأ را محاسبه می کند.تابع جدید `stats.numbperm` مقدار تعدیلات را باز می گرداند.
تابع جدید `stats.percentile` تعیین می کند.
تابع جدید 'stats.skewness` یک خط نشانگر تقارن توزیع احتمالی را نشان می دهد.
تابع جدید `stats.sumdata` تمام توانایی های یک ساختار در مورد منبع را جمع می کند.
`stats.tovals` در حال حاضر یک تابع کتابخانه C است و در نتیجه تا 40٪ سریعتر است.
با یک جدول خالی یا توالی، `stats.qmean`،` stats.mean`، `stats.gmean`،` stats.sd`، 'stats.median`،
`stats.var` اکنون شکست خورد.
حداکثر طول خط ورودی در مترجم مستقل از 512 تا 2048 حرف تغییر یافته است.
متغیر محیط جدید environ.maxpathlength حداکثر تعداد کاراکترها را برای مسیر فایل ذخیره می کند (به استثنای کاراکتر C).
متغیرهای محیط جدید environ.minnumber و `environ.maxnumber` حداقل و حداکثر مقدار را نگه می دارند که یک شماره Agena (در حال حاضر یک ANSI-C double) می تواند ذخیره کند.
متغیر محیط جدید environ.umaxlong شامل حداکثر مقدار یکپارچه از نوع C امضا نشده طولانی در سیستم 32 بیتی و طولانی بدون ماشین آلات 16bit است.
API C:سازگاری 100٪ از API Agena C با API Lua C با معرفی توابع تخلیه Lua دوباره برقرار شده است. بنابراین شما در حال حاضر قادر به ذخیره توابع در نمایش دودویی، به عنوان مثال با استفاده از `strings.dump` یا lua_dump در سطح C.
تابع جدید `agnL_optboolean` را برای بررسی برای استدلال های اختیاری بولی معرفی کرده و آنها را در صورت موفقیت به کار می برند.
رفع اشکال:
`environ.globals` همیشه خطایی را ترک کرده است، این ثابت شده است.
`فرض کنید` با هر دو از استدلال خود را در حال حاضر و یا ارزیابی به 'نامشخص'. اکنون در این مورد درست است.
Agena در هنگام عبور از یک جدول خالی و یک معافیت کننده برای پیوستن سقوط کرد - این ثابت شده است.
گزینه `color 'دیگر توسط` gdi.plot` نادیده گرفته می شود.
با جداول، 'stats.minmax` یک مقدار اشتباه را برای حداقل به دست آورد. حالا درست کار می کند
با یک جدول خالی، 'stats.median` 0 بازگشت، در حال حاضر شکست باز می گردد.
برخلاف مستندات، `strings.isending` به 'true' با هر دو رشته برابر می شود. این ثابت شده است.
`run` بازگشت` قادر به باز کردن فایل نیست 'اگر یک اسکریپت Agena موجود شامل یک خطای نحوی باشد. این ثابت شده است تا به طور کامل بازنویسی عملکرد.Lua 5.1.4 patch اضافه شده است: "ایجاد کد اشتباه برای بعضی از اصطلاحات بولین خاص [به عنوان مثال پیچیده]".
Lua 5.1.4 patch اضافه شده است: "Parser ممکن است نمونه اولیه را در هنگام ساخت آن جمع آوری کند."
* اطلاعات: اضافه کردن Lua 5.1.4 patch 10، "ممکن است metamethod شاخص [__write / __ جدید] ممکن است کار نکند اگر metatable متاتمای خود باشد"، Agena لازم نیست، زیرا Agena در حال حاضر درست کار می کند.
کلمه کلیدی استفاده نشده `default` را حذف کرد.
برخی از سخت شدن توابع و ویژگی ها.
ارتقاء:
یک نسخه _experimental_ از `io.anykey` به نسخه مک اضافه شده است. با این حال، حداقل در شیر، کلید گاهی اوقات فشرده شده بر روی پوسته است.
`utils.readcsv` اکنون می تواند به صورت اختیاری تمام مقادیر را در یک فایل CSV در یک توالی صاف بازگرداند.
بسته clock `اکنون از اپراتور تقسیم` / `با اضافه کردن آن به metatable operator` tm 'خود پشتیبانی می کند.رفتار `با` تغییر کرده است زیرا می تواند نام های کوتاه را برای بسیاری از توابع کتابخانه تعیین نمی کند: اگر توابع در جدول oau قرار داده شوند، نام های کوتاه را برای این نام های تابع اعمال نکنید؛ در غیر اینصورت نامهای کوتاه برای _all_ سایر توابع بسته را تعیین کنید. به این ترتیب: `package.register` برای ثبت تمام توابع کتابخانه برای` with` برای اختصاص نام کوتاه، دیگر مورد نیاز نیست. در یکی از موارد زیر، آن را از بین می برد.
مجموعه تست بهبود یافته است.
کتابچه راهنمای:
کتابچه راهنمای کاربر و شاخص را بهبود بخشید.
ثبات:
برای همه ی تغییر نام های زیر، نام متغیرهای قبلی زیر پشتیبانی می شود.
`environ.MinLong` به 'environ.minlong` تغییر نام داده شده است.
`environ.MaxLong` به 'environ.maxlong' تغییر نام یافت.
`environ.BufferSize` به 'environ.buffersize` تغییر نام داده شده است.
`environ.PathSep` به 'environ.pathsep' تغییر نام یافت.
`environ.More` تا به 'environ.more` نامگذاری شده است.
`environ.WithProtected` به 'environ.withprotected` تغییر نام داده شده است.
`environ.Os` به نام` environ.os` تغییر نام داده شده است.
`environ.Cpu` به 'environ.cpu` تغییر نام داده شده است.
`environ.Release` به 'environ.release` تغییر نام داده شده است.

`environ.GdiDefaultOptions` به نام` environ.gdidefaultoptions` تغییر نام داده شده است.
در ویندوز، `os.login` و` os.computername` در حال حاضر 'شکست' مانند نسخه های یونیکس یا OS / 2 انجام می دهند.
برای کامپایل یک نسخه سازگار با Agena 1.3.x، سوئیچ `-DCOMPAT13` در نهایت حذف شده است.
دیگر:
'calc.fseq' حذف شده است حذف شده است. لطفا به جای "nseq" استفاده کنید.

چه جدید در نسخه 1.5.1 است:

رشته "strings.fields" که هرگز کار نمی کند. همچنین، آن را به یک تابع کتابخانه C تبدیل شده و در نتیجه 2.6 برابر سریعتر است.
`strings.words` در حال حاضر یک استدلال سوم را پذیرفته است، اگر به 'true` تنظیم شود، اختلافات بعد از آن نادیده گرفته می شود.
یک نشت امنیتی احتمالی از "io.write" و "io.writeline" را حذف کرد و پیام های خطا آن را بهبود بخشید.
'binio.readchar` را پچ کنید تا مشکلاتی با فایل های بزرگتر از 2 گیگابایت حل شود.
پیام های خطا اصلاح شده از توابع `xbase.purge`،` xbase.readvalue`، `xbase.purge`،` ads.getvalues`، `binio.readshortstring`،` os.computername`، `os.login`،` os. fattrib`، `environ.kernel`،` package.register`.
ترابایت با علامت T وارد می شود، جایی که یک عدد صحیح است، و T حرف `T` است. به همین ترتیب، g به میلیاردها و t trillions تعلق دارد. برای اطلاعات بیشتر به صفحه 48 کتابچه راهنمای مراجعه کنید.
راهنمای کتاب را به روز کرد.
اغلب سازگاری عقب مانده در کد منبع C به دلیل دلایل پاکسازی کد حذف شده است. این فقط کسانی است که سعی می کنند آگنا 1.5 یا بالاتر را با سازگاری کامل با Agena 1.3 و 1.4 و با بیشتر سازگاری عقب مانده با Lua 5.0 (به استثنای کتابخانه های قدیمی Lua 5.0)، مجددا ادغام کنند.

چه جدید در نسخه 1.5.0 است:

`map` هم اکنون می تواند رشته ها را به عنوان آرگومان دوم آن پردازش کند. تابع مربوطه و استدلال های آن به صورت متوالی به هر شخصیت از چپ به راست اعمال می شود و نتیجه در یک دنباله به کار می رود.
`run`: اگر شما می خواهید برای بارگذاری و اجرای کد از فایل های با پسوند AGN، شما لازم نیست که برای مشخص کردن پسوند در بحث دیگر هیچ. بنابراین اجرا 'test'` و `run' test.agn'` در حال حاضر یکسان هستند.
كليد `is` در حال حاضر واجد شرايط تشخيص روش ها است. (با GCC، از سوئیچ -DCOMPAT14 برای کامپایل یک نسخه از Agena که کلید واژه `is` هنوز اختیاری است) استفاده کنید.
بیانیه "try` ضعیف شده است و دیگر پشتیبانی نمی شود. (با GCC از سوئیچ -DCOMPAT14 برای کامپایل یک نسخه از Agena استفاده کنید که هنوز این اظهارنظر را دارد.)
از `توابع utils` زیر حذف شده اند:` arraysize`، `getarray`،` getwholearray`، `newarray`،` searcharray`، `setarray`. برای سازگاری با عقب، آنها به فایل lib / compat.agn اضافه شده اند. (با شورای همکاری خلیج فارس، با استفاده از -DCOMPAT14 سوئیچ به کامپایل یک نسخه از AGENA که هنوز suppports توابع زدن اصلی است.)`utils.singlesubs` به طور کامل بازنویسی شده است. در حال حاضر انتظار می رود که یک توالی از اعداد به عنوان آرگومان دوم به جای ساختار userdata stringarray قبلی باشد. این نسبت 35٪ کندتر از نسخه قبلی است، اما حذف ساختار stringarray مهم تر بود.
`strings.include` سقوط کرد اگر با 0 با عنوان آرگومان دوم تماس گرفت. این ثابت شده است.
Michael G. Schwern Applied مایکروسافت Schwern در May 10، 2011 پچ به "32 بیتی سال 2038-Fix" کمک های خود را با استفاده از دسته های `os` و `xbase` (`ساخت mktime64 () ساختار tm دریافتی به عنوان ISO C نیاز دارد. ')
بهینه سازی کد داخلی: برخی از توابع ابتدایی کتابخانه و بارگذاری فایل C توابع پشته را برای ساختن مسیر و نام رشته ها استفاده می کنند. در حال حاضر در بسیاری از موارد، کارکرد جدید Aux 'concat' نوشته شده توسط Solar Designer در حال استفاده است.
API Agena C اکنون 100٪ سازگار با API Lua C برای تسهیل انتقال بسته های Lua C به Agena است.
به این ترتیب، توابع زیر تغییر یافته اند: lua_isnumber - & gt؛ agn_isnumber، lua_isstring - & gt؛ agn_isstring، luaL_optnumber - & gt؛ agnL_optnumber، luaL_checknumber - & gt؛ agnL_checknumber، luaL_optnumber - & gt؛ agnL_optnumber، luaL_checkinteger - & gt؛ agnL_checkinteger، luaL_optinteger - & gt؛ agnL_optinteger.

ماکروهای زیر تغییر نام یافتند: luaL_checkint - & gt؛ agnL_checkint، luaL_optint - & gt؛ agnL_optint
به عنوان مخالف اجرای قبلی Agena، lua_tonumber در حال حاضر به جای بازگشت به HUGE_VAL، در مورد Lua به حالت غیر عادی بازمیگردد.
lua_setglobal2 حذف شده است به جای استفاده از lua_pushvalue و lua_setglobal.

چه جدید در نسخه 1.4.2 است:



اگر در لیست پارامترهای یک فرآیند مشخص شده توسط کاربر تعریف شده باشد، در
در صورت عدم رعایت تشریفات، خطاهای صادر شده و در عوض در موارد زیر اجرا شده است:
a) یک جدول، مجموعه، توالی، جفت یا روش - بدون تعریف کاربر
نوع - گذشت
ب) هیچ ارزشی برای پارامتر مربوط به آن داده نشده است.

چه جدید در نسخه 1.4.1 است:


نام های کوتاه برای 'stats.quartiles` و' stats.mode` را نمی توان با عملکرد `with` تعیین کرد. این ثابت شده است.
اشتباه، `با` نمیتواند یک نام کوتاه برای `gdi.settriangle` تعیین کند. این تغییر کرده است
خطا در پردازش `calc.polygen` بهبود یافته است
پیام خطای بهبود یافته "fractals.draw" برای از دست دادن فایل های FRACTINT نقشه.
تابع `strings.rseek` ضعیف حذف شده است. برای سازگاری با عقب، `strings.seek` به فایل lib / compat.agn اضافه شده است.
سوئیچ -d برای چاپ اطلاعات اشکال زدایی در هنگام راه اندازی مترجم اضافه شده است.
نسخه ویندوز Agena در حال حاضر با GCC 4.5.2 کامپایل شده است.
به روز رسانی پرونده های برنامه زبان
این کتاب به روز شده است.

چه جدید در نسخه 1.4.0 است:

تغییرات معنایی:
متغیرهای کنترل حلقه از حلقه های عددی «for / to» اکنون به جای حلقه های داخلی (داخلی) به بلوک های اطراف خود محلی هستند. اگر یک متغیر محلی با همان نام متغیر کنترل حلقه اعلام شده و قبلا تعیین شده باشد
اجرای یک حلقه عددی، با آخرین ارزش تکرار حلقه، رونویسی می شود. به این ترتیب، کلید "خارجی" در عددی "برای" حلقه ها دیگر پذیرفته نمی شود. (با GCC، از سوئیچ -DCOMPAT13 برای کامپایل یک نسخه از Agena که هنوز به رسمیت شناخته شده است، اما کلمه کلیدی `خارجی` را نادیده می گیرد).
با ثابت `fail '،` not` return `true`، اما با` fail' به یک متغیر، `not` بازگشت false. این تغییر کرده است، به عنوان مثال 'a: = شکست؛ نه (a) "حالا برگشت" درست است.
`stats.median` در حال حاضر به جای صفر، اگر ساختار داده خالی باشد،« شکست »را بازمیگرداند.
`utils.readcsv`: اگر یک فضای سفارشی با گزینه` delim` منتقل شود و اگر گزینه ignorespaces` داده نشده باشد، فضاهای سفید به طور خودکار هرگز قبل از تقسیم هر خط فایل به کلمات آن به طور خودکار حذف نخواهد شد.این تابع همچنین دارای دو گزینه جدید است: `header` که خط اول را در یک فایل نشان می دهد و` output` است که اجازه می دهد محتویات فایل را به یک فرهنگ لغت با نام های فیلد که توسط هدر فایل تعریف شده ذخیره کند.
علامت Substring $ $ پشتیبانی نمی شود. (با GCC، از یک سوئیچ DCOMPAT13 استفاده کنید تا یک نسخه از Agena را کامپایل کنید که هنوز هم اپراتور $ $ را پشتیبانی می کند.)
برنامه های افزودنی:
حلقه های بی انتها انجام شده اند. این نوع حلقه به صورت بی نهایت تکرار می شود و می تواند تنها با دستورات `break 'یا` return` متوقف شود. آنها شکر نحوی هستند برای اینکه در حالی که درست هستند ... حلقه ها.
با جداول، 'stats.minmax' قبلا تنها با آرایه ها کار می کرد. این تغییر کرده است، یعنی مقادیر با کلید های غیر مثبت مربوطه (مثلا رشته ها، عدد صحیح غیر مثبت، شناورهای منفی و مثبت، و غیره) در حال حاضر به درستی در ارزیابی به رسمیت شناخته شده است.
`stats.mean`،` stats.qmean`، `stats.sd`، و` stats.var` نیز اکنون توالی را پردازش می کنند.
تابع `stats.mode 'جدید تمام مقادیر را در یک دنباله یا جدول با بیشترین تعداد رویداد، یعنی بالاترین فرکانس، را نشان می دهد.
عملکرد 'stats.quartiles` جدید جدید اولین و دومین و سومین مرتبه جدول یا دنباله _sorted_ را می دهد.قبلا ویژگی های غیرقانونی `linalg.matrix` به کتابچه راهنمای کاربر اضافه شده است و مدیریت خطا آن بهبود یافته است.
خطا در بهبود خطا `linalg.hilbert`.
`gdi.setinfo` اکنون گزینه square را می پذیرد. اگر 'square = false' باشد، محورهای x و y در مقادیری که با gdi.plot ایجاد شده اند، همان مقیاس را ندارند.
تابع `gdi.plot` برای جلب گرافیک متاسفانه مستند نشده است. این تغییر کرده است
`gdi.plot` دو گزینه جدید را می پذیرد: گزینه 'x' طیف افقی را نشان می دهد که نشان داده شده است و گزینه 'y' طیف عمودی را مشخص می کند.
اگر یک ساختار PLOT به `gdi.plot` منتقل شده است که فقط شامل POINTS، LINESs، RECTANGLES، TRIANGLEs، CIRCLEs و ELLIPSEs (از جمله آنها * FILLED variants) است، سپس` gdi.plot` به طور خودکار مقیاسها (`gdi.setinfo لزوما باید نامیده شود).
ویژگی های OOP که از Lua به ارث برده می شوند در حال حاضر در ضمیمه A9 مستند شده اند. نویسنده برنامه نویسی شی گرا را توصیه نمی کند.
تنظیم:
اپراتور "پر شده" را حدود 3 درصد می کند.
تیک بزنید `،` join`، `sadd`،` qsadd`، `replace`،` copy`، `unique`، و Cantor تنظیم کننده اپراتورها را روی جداول و کمی تنظیم می کند.با استفاده از جداول، اپراتور `top` و` bottom` در حال حاضر 5٪ سریعتر هستند.
عملگر `size 'حداقل 8٪ سریعتر است اگر جدول شامل nulls باشد.
`linalg.mzip`،` linalg.mmul`، و `linalg.transpose` در حدود 3٪ تنظیم شده است.
عددی برای حلقه ها با حلقه های قطبی با کاهش تعداد متغیرهای کنترل آنها به نصف بهینه سازی شده است. این، با این حال، هیچ سرعت افزایش یافت.
پچ ها:
'linalg.ludecomp` برای تصحیح ماتریس های مجزا پچ شده است. همچنین، تابع می تواند به طور خودکار مرتبه ماتریس داده شده را تعیین کند.
به عنوان خلاف دستورالعمل، `gdi.plot` به طور خودکار محدوده افقی و عمودی را تعیین نمی کند. این ثابت شده است.
`gdi.plot` دیگر گزینه` square` را که توسط `gdi.setinfo` تعیین شده است را نادیده می گیرد.
`gdi.setinfo` تنظیمات را به ساختارهای INFO اضافه کرده است، حتی اگر قبلا وجود داشته باشند. این تغییر کرده است
حلقه ها به درستی توسط `gdi.plot` ترسیم نشده اند. این تغییر کرده است
تابع `gdi.plot` در اکثر موارد رنگ رنگی اشیای هندسی را نادیده گرفت. این تغییر کرده است

بسته gdi نامهای کوتاهی برای `gdi.settriangle`،` gdi.settrianglefilled`، `gdi.setrectangle` و` gdi.setrectanglefilled` نامگذاری نمیکند. این تغییر کرده است
بسته فراکتال اسامی کوتاه برای توابع از نوع تعریف شده توسط کاربر 'esctime' نامگذاری نمیکند. این تغییر کرده است اشکال خطا از `fractals.draw 'اصلاح شد اگر استدلال های موضعی اعداد نبودند.
سایر موارد:
قابلیت `calc.fseq` به« nseq »ادغام شده است. برای سازگاری با عقب، 'calc.fseq' هنوز بخشی از بسته calc است، اما این تابع در واقع به پیاده سازی `nseq` اشاره دارد.
متغیر `environ.FractScreenUpdates 'را به" fractals package "اضافه کرد تا تعداد خطوط عمودی (یک عدد صحیح غیر منفی) را مشخص کند که بعد از آن یک فراکتال در یک پنجره به روز می شود. متغیر `environ.FractOptimised` از بین رفته است.
توابع Gdi کمکی مجدد شده اند.

چه جدید در نسخه 1.3.3 است:


پچ برای `instr`:
هنگامی که در حالت regex، اپراتور یک نتیجه اشتباه را بازگرداند اگر موقعیت آغاز شده داده شود.
هنگامی که در حالت جستجوی ساده، اپراتور خطای خارج از محدوده را در صورت عدم ارائه موقعیت شروع به کار می گیرد.
به استثنای حالت جستجوی معکوس، اگر هیچ ربطی پیدا نشد، اولین آرگومان به جای null برگردانده شده است.
پیغام خطا اصلاح شده در عبارت 'create' با توجه به دنباله.
در AgenaEdit، زمانی که خروجی بیش از یک ساختار تنها با یک تماس به 'print'، ساختارها در صورت کامل چاپ نشدند، اگر اولین ساختار به متناظر __tostring متکی بود. این تغییر کرده است

چه جدید در نسخه 1.3.2 است:

این نسخه شامل رفع اشکال، برنامه های افزودنی و یک کتابچه راهنمای بهبود یافته است:
'dimension' نتایج جالبی ایجاد کرد اگر یک ساختار به عنوان
آغازگر این تغییر کرده است: 'dimension' اکنون نسخه مستقل از آن را ایجاد می کند
ساختار هنگام ایجاد جدول
عملگر `strings.rseek` به اپراتور` instr 'اضافه شده است.
بنابراین، `strings.rseek` از بین رفته است. برای سازگاری با عقب
`strings.rseek` به فایل lib / compat.agn اضافه شده است.
`strings.hits 'اکنون از عبارات منظم و ضبط استفاده می کند. این رفتار
می تواند با عبور یک Boolean به عنوان یک استدلال سوم تبدیل شود.
`strings.isabbrev` و` strings.isending` اکنون از جستجوی ساده استفاده می کنند
اگر عبارات منظم و یا قطعی به عنوان بخشی از دوم به تصویب نرسیدند
بحث و جدل.
اصلاح شده `strings.ismagic` و` strings.isfloat`.
عملکرد log 'اکنون 13٪ سریعتر است.
هنگام خروج بیش از یک ساختار تنها با یک تماس به `print`
ساختارها به صورت کامل چاپ نمی شوند اگر اولین ساختار __tostring را نشان دهد
metamethod. این تغییر کرده است

دسته بندی های توابع را به فصل 7 اضافه کرد تا ابتدا برای جدید تسهیل شود
کاربران

در نسخه 1.3.1 جدید است:



با فراخوانی های توزیع شده به اپراتورهای باینری زیر مشکلاتی وجود دارد: `xor`،` atendof`، `& amp؛ و amp؛`، `||`، `^^`، `::`، و `: -`، و در نتیجه نیز با چاپگر بسیار زیبا که با خطایی در هنگام چاپ ساختارهای توجیه ترک می شود. این ثابت شده است.
چهار رکورد به 'os.list`: اگر گزینه' r 'به تصویب رسیده باشد، پس از اتمام تماس، دایرکتوری کاری فعلی اشتباه تغییر کرده است.
اگر 'r' به عنوان آخرین آرگومان به تصویب نرسد، تابع یک خطا صادر کرد.
`null` به عنوان اولین استدلال برای نشان دادن دایرکتوری کار فعلی پذیرفته نشده است.
در ویندوز 7، محتویات دایرکتوری ریشه کار نمی کرد، به عنوان مثال os.list ('c:') محتویات دایرکتوری کاری را باز کرد.
هنگامی که یک رشته با یک عدد غیر عددی نمایه شد، برای مثال "str [null]"، Agena بازگشت "null". اکنون یک خطا مطرح شده است.
اگر library.agn یافت نشد، مسیر اشتباه در هشدار دو بار خروجی داده شده است. این تغییر کرده است

چه جدید در نسخه 1.2 است:

اپراتور substring دوباره طراحی شده است، اما نسخه قبلی هنوز هم تا Agena 2.0 در دسترس است: یکی از جدید است: `str [چپ به راست]`، قدیمی است: `str $ (چپ، راست)`. یک مثال: قبل از: `str: = 'string'؛ چاپ (str $ (2، 3)) `- & gt؛ 'tr' در حال حاضر: `str: = 'string'؛ چاپ (str [2 تا 3]) `- & gt؛ 'tr'
شما اکنون قادر به تعریف sublist از آرایه های جدول و توالی ها با نحو جدید ذکر شده در بالا است: `[از چپ به راست]`. یک مثال: در حال حاضر: `a: = [10، 20، 30، 40]؛ چاپ (یک [2 تا 3]) `- & gt؛ [20، 30] در حال حاضر: `a: = seq (10، 20، 30، 40)؛ چاپ (یک [2 تا 3]) `- & gt؛ seq (20، 30)
تابع `ops` اکنون می تواند مقادیری را با عبور یک توالی از موقعیت های شاخص خود به عنوان اولین استدلال خود، بازگرداند، به عنوان مثال ops (seq (1، -1)، 10، 20،
30)
تابع جدید `stringings.include` یک توالی مشخصه را به یک رشته وارد می کند
در یک موقعیت خاص.
توابع زیر اکنون به جای فقط بازگشت `fail` در خطا خطایی میدهند
مورد شکست: `os.remove`،` os.move`، `os.mkdir`،` os.rmdir`، `os.chdir`.

ارتقاء به اپراتورهای زیر کار بر روی مجموعه ها و دنباله در مورد مجموعه های زباله: عبارت `inserter`،` union`، `تقاطع`،` منهای `،` منحصر به فرد`، `copy`،` pop / top` و `pop ' / bottom` اظهارنظر و تعیین تکالیف.
اگر خطای رنگ FRACTINT وجود نداشته باشد، پیام خطای بهبود یافته از fractals.draw را نشان می دهد
یافت نشد

چه جدید در نسخه 1.1.0 است:

این نسخه دارای ویژگی های جدید و یک فضای نام تمیز است.
سازگاری با Agena 1.0:
برخی از توابع از Agena حذف شده اند و بعضی از آنها به توابع بسته تبدیل شده اند (نگاه کنید به زیر). اگر هنوز میخواهید از آنها استفاده کنید، در خط فرمان readlib 'compat' را صادر کنید یا اگر به ترتیب سازگاری با Agena 1.0 را ترجیح میدهید، بیانیه فوق را در فایل راهاندازی خود قرار دهید.
عملکرد پیشرفته:
اظهارات `pop / top` و` pop / bottom` و `` bottom` و `top` در حال حاضر نیز می توانند به آرایه های جدول اعمال شوند.
هنگامی که با null یا هیچ استدلالی نامیده می شود، os.chdir دیگر خطایی را نمایش نمی دهد بلکه دایرکتوری فعلی را باز می کند. بنابراین، تابع `os.curdir` سابق قبلا توسط یکی نوشته شده در زبان Agena جایگزین شده است.
`os.list` در حال حاضر به طور بازگشتی به زیر پوشه ها می پردازد اگر گزینه r جدید ارائه شود.
اپراتور `join 'هم اکنون یک جداکننده اختیاری را می پذیرد و از گزینه ای برای مشخص کردن اولین و آخرین عنصر ساختار پیوند می خورد.
`instr` اکنون می تواند از سمت راست یک رشته با عبور از یک موقعیت منفی جستجو کند.اگر جدول شامل جداول، مجموعه ها، توالی ها یا جفت های دیگر باشد، `copy 'اکنون می داند که چگونه این ادوات را به درستی در صورتی که چند بار رخ می دهد، درست کند: اگر ساختار جاسازی شده شامل n بار باشد، یک نسخه واقعی ساخته شده و n-1 مراجع به این ساختار تازه ایجاد شده اند. پیش از این، نسخه های مستقل ساخته شده اند.
تابع جدید `unconposint` جدید را بررسی می کند که آیا اعداد داده شده تمام اعداد صحیح و غیر مثبت هستند.
`io.close` اکنون می تواند چندین فایل را تنها با یک تماس ببندد.
تابع `` با نام `` نام های کوتاه برای روش های زیر از `ریاضی 'بسته:` convertbase`، `کسری'،` zeroin `،` todecimal`، `lcm`،` gcd`، و `ndigits` نامگذاری نمی شود. این اصلاح شده است.
تابع `rwritemode` در دستورالعمل ذکر شده وجود ندارد. در حال حاضر در دسترس است، اما به نام `rmode`.
پیام های خطا از عملکرد های مختلف بهبود یافته است.
پاک سازی فضای نام: توابع تغییر نام داده شده یا متحرک:
توابع کتابخانه پایگاه `register` و` loadclib` به کتابخانه `package` منتقل شده است.
'rdelete'، `rget`،` rinit`، `roinit`،` rmode`، `rset`،` remember` و `` پیشفرضها '' توابع کتابخانه پایه به بسته جدید `` rtable` منتقل شده اند.نام جدول جهانی _Env را به 'environ' تغییر نام داد که اکنون نیز شامل روش هایی برای دسترسی به محیط زیست است.
متغیرهای محیط زیست `homeedir` و` infolevel` سابق به ترتیب به 'environ.homedir` و' environ.infolevel 'تغییر نام داده شده است.
توابع پایه کتابخانه پایه زیر به بسته environ منتقل شده اند: `anames`،` attrib`، `gc`،` getfenv`، `globals`،` isselfref`، `pointer`،` setfenv`، `used `،` userinfo`، `__RESTART`،` __DOTTYPRINT`.
`mapm.xtoNumber` به 'mapm.xtonumber` نامگذاری شده است،` mapm.xtoString` به' mapm.xtostring` تغییر نام داده شده است. برای سازگاری با عقب، نام های تابع قدیمی همچنان می توانند با اجرای پرونده lib / compat.agn مورد استفاده قرار بگیرند (ابتدا خواندن بسته "mapm" و سپس فایل compat.agn را بارگذاری کنید).
توابع و متغیرهای غیرقطعی:
`strings.seek` تخفیف داده شده است قابلیت آن به اپراتور `instr` اضافه شده است. برای غیرفعال کردن حالت تطبیق الگوی instr`، ابتدا جستجو را به عنوان سوم و "درست" به عنوان استدلال چهارم منتقل کنید. `instr` حدود 40٪ سریعتر در حالت تطبیق غیر الگو از` strings.seek` است. برای سازگاری با عقب، `strings.seek` به فایل lib / compat.agn اضافه شده است.تابع کتابخانه پایگاه "concat" حذف شده است. به جای استفاده از "پیوستن" برای سازگاری با عقب، تابع قبلی به فایل lib / compat.agn اضافه شده است.
توابع `hardrtable` و` hasrotable` حذف شده اند. برای سازگاری با عقب، آنها به فایل lib / compat.agn اضافه شده اند.
تابع `pcall` نامعتبر است به جای استفاده از "محافظت" برای سازگاری با عقب، این تابع به فایل lib / compat.agn اضافه شده است.
عملکرد maptoset تخفیف داده شده است. برای سازگاری با عقب، این تابع به فایل lib / compat.agn اضافه شده است.
عملکرد `os.alldirs 'از بین رفته است. از گزینه های 'dirs' و 'r' در تماس با 'os.list` استفاده کنید. برای سازگاری با عقب، این تابع به فایل lib / compat.agn اضافه شده است.
`os.isMac`،` os.isSolaris`، `os.isLinux`،` os.isWin`، `os.isOS2`،` os.isDOS`، `os.isHaiku` ضعیف شده است. لطفا به جای متغیرهای محیطی جدید environ.Os و environ.Cpu از کد استفاده کنید. برای سازگاری با عقب، این توابع به فایل lib / compat.agn اضافه شده است.

متغیر _VERSION نامشخص حذف شده است برای سازگاری با عقب، تخصیص آن به فایل lib / compat.agn اضافه شده است.
تغییرات دیگر:
عملکرد C API lua_rawsetstringnumber ذکر شده در این کتابچه وجود ندارد. این تغییر کرده است
بهینه سازی کد به تجزیه کننده.
در برخی از بسته ها، به صورت تصادفی چند متغیر به طور ضمنی اعلام شده جهانی است. این ثابت شده است.
اصلاح و به روزرسانی فایلهای نمونه اولیه.
AgenaEdit به روز شده است.
فایل های برنامه زبان به روز شده اند.
نصب کنندگان لینوکس در حال حاضر شامل بسته xBase هستند.

چه جدید در نسخه 1.0.6 است:


پیام های خطای بهبودی از عملگرهای `join`،` copy` و `filled`، از` toset`، `toseq`، و` توابع `، از` inserter`، `delete`،` pop`، و ` برای حلقه ها
با دنباله، Agena در دنباله ای از رویدادها سقوط کرد: 1) دستور `delete` اعدام شده بود، 2) دنباله ای که بعد از آن خالی بود، و 3) یک عنصر جدید دوباره وارد شده بود. این ثابت شده است. (در داخل، بیانیه `delete` دیگر به طور داخلی طول دنباله را کاهش نمی دهد.)
با رشته های بزرگ، 'concat' سقوط کرد. این ثابت شده است.
با رشته های 512 و بیشتر بایت، 'پیوستن' و 'جایگزین' می تواند سقوط کند. این ثابت شده است. دو اپراتور هم اکنون بسیار سریعتر از همیشه هستند.
`math.isprime` نتایج اشتباه با arguments & gt؛ 2 ^ 31 (مبهم در کتابچه راهنمای ذکر شده است). این با گسترش محدوده استدلال به عدد صحیح با مقادیر تا +/- 2 ^ 63 ثابت شده است.
`math.nextprime` و` math.prevprime` مسئله ای مشابه با استدلال بزرگتری از جمله `math.isprime` داشتند. این نیز تغییر کرده است. با استدلال 2، `io.nextprime 'به جای 3 به اشتباه 5 بازگشت. این نیز ثابت شده است.

در نسخه 1.0.5 جدید است:


`پیوستن 'می تواند Agena را خراب کند و در غیر این صورت به طور غیر منتظره ای عمل می کند اگر رشته حاصل شود
بیش از 512 بایت این تغییر کرده است
اگر "راه اندازی مجدد" پس از یک خطا در گذشته صادر شده است، نامیده می شود
بیانیه، Agena در موارد نادر به دلیل فساد پشته سقوط کرد. این شده است
درست شد.
با جداول تازه ایجاد شده حاوی دقیقا یک عنصر در بخش هش، `attrib`
در حال حاضر نتایج صحیح برای تعداد اسلات اختصاص داده شده حش (1 به جای 0) را نشان می دهد.
پیام خطا اصلاح شده از `qsadd` و` sadd`
پیام های خطا بهبود یافته از `join`،` copy` و `` پر شده '' اپراتورها، و 'inserter'
و 'حذف' اظهارات.
خطا در «خواندن»، «ذخیره» و «fractals.draw» بهبود یافته است.
ارتقاء به makefiles
اندازه های بافر در منابع استاندارد شده اند.

در نسخه 1.0.4 جدید است:


از آنجایی که در هنگام راه اندازی اولیه گزارش شده است (در ویندوز XP SP 3 و OpenSolaris 134 در بعضی موارد)، جمع آوری زباله در مرحله ابتدایی خاموش است. این گسل های تقسیم بندی نادر در هنگام اجرای دودویی Agena در دایرکتوری پوششی آن به عنوان ریشه در OpenSolaris اتفاق افتاد و در XP هنگام کلیک کردن روی نماد دسکتاپ Agena با حقوق محلی مدیران.
تغییر د -d به گزینه های خط فرمان به منظور چاپ اطلاعات در هنگام راه اندازی Agena معرفی شده است.
اگر رفتار حافظه را نمی توان به صورت داخلی اختصاص داد: 'trim`، `upper`،` lower`، `os.curdir`، و` strings.rseek`، خط مشی مناسب را معرفی کرد.
نشت پتانسیل حافظه در ابتدای کار C عملکردهای agenaL_initialise و agenaL_setLibname حذف شده است، و در `io.write *` و `print`.

چه جدید در نسخه 1.0.3 است:

تابع جدید 'protect` یک روش را در حالت محافظت می کند و هر گونه خطای احتمالی را به وجود می آورد تا محاسبات قطع شود. در صورت خطا، رشته خطا را به متغیر جهانی `lasterror` تنظیم می کند. این مربوط به `pcall` است، اما کد وضعیت را به عنوان اولین نتیجه نشان نمی دهد.
`attrib` اکنون نتایج صحیح را با ساختارهای خالی برمی گرداند. با ساختارهای خالی، تابع به درستی یک عنصر اختصاص داده شده را قبل از شمارش قرار داده است.
`attrib` اکنون تعداد بایت هایی را که با جداول، مجموعه ها و توالی ها همراه با کلید« بایت های جدید »اشغال می شوند، بازگردانده می شود. تعداد بایت های بازگشت شده براساس اطلاعات گاه متضاد موجود در شبکه است.
`replace` Agena سقوط کرد اگر رشته حاصل بیش از 512 بایت باشد. این تغییر کرده است
"فرض کنید" حالا "فرضیه شکست خورد". به جای "فرض شکست خورد".
عملکرد جدید C API lua_setglobal2 مقدار بالای بالای پشته را به نام جهانی تعیین می کند. بر خلاف lua_setglobal، ارزش ظاهر نمی شود.

پاک کردن کد lobject.h (ساختار جدول) و lapi.c (ماکرو actnodesize). تابع bugfix به C API agn_deletertable در مورد Agena با lua_assert غیر مجاز وارد شده است. تغییر به مقدار بازگشتی از عملکرد ذخیره سازی که در هنگام راه اندازی استفاده می شود برای جلوگیری از (کمبود) احتمالی فساد پشته.

در نسخه 1.0.2 جدید است:

روش جدید `os.setenv` متغیرهای محیطی را بر روی سیستم عامل تنظیم می کند. این تابع در اصل توسط مارک ادگار نوشته شده است.
در ویندوز، `os.getenv` اکنون یک تابع API بومی ویندوز را برای به دست آوردن مقادیر متغیرهای محیطی فراخوانی می کند. کد ویندوز توسط مارک ادگار نوشته شده است.
تابع `os.environ 'جدید تمام متغیرهای محیطی تعیین شده را در یک جدول باز می گرداند. این تابع در اصل توسط مارک ادگار نوشته شده است.
`io.open` اکنون اشاره گر FILE، نام و حالت یک فایل با موفقیت را به جدول جدید 'io.openfiles` اضافه می کند. `io.close` از ورود` io.openfiles` حذف می کند اگر فایل با موفقیت بسته شود
هنگامی که بدون استدلال نامیده می شود، `io.read` اکنون خطایی را در صورت عدم نمایش استدلال در AgenaEdit (در تلاش برای خواندن صفحه کلید) باز می کند.
اگر `io.anykey` و` io.getkey` در AgenaEdit نامیده می شوند، یک پیام خطای مناسب نمایش داده می شود.
یکی از فرآیندهای ابتدایی سازی تغییر یافته است تا از فساد احتمالی پشته جلوگیری شود (هرچند مشکلات هرگز رخ نداده اند).
os.isMac ('ppc') در حال حاضر روی دستگاه های PowerPC کار می کند.

فصل 4 و 6 مقدماتی و مرجع تجدید نظر شده و گسترش یافته است. یک شاخص اضافه شده است و بسیاری از لوازم آرایشی نیز انجام شده است.
اطلاعات نسخه صحیح را به فایل اجرایی ویندوز ذخیره می کند.

چه جدید در نسخه 1.0 است:



خانم ها و آقایان عزیز،
پس از تقریبا چهار سال توسعه، Agena 1.0، یک زبان برنامه نویسی رویه، از منابع Lua C منتشر شد.
جامعه من در واقع بسیار، بسیار کوچک است، اما بعضی از کاربران به من گفتند که خوب است، مفید و پایدار است.
من بسیار خوشحال خواهم شد اگر Agena را بررسی کرده و در مورد نتایج خود به من اطلاع دهید. اگر شما آن را مفید پیدا نکنید، لطفا به من بگویید به من، و من فرصتی برای حل مسائل را به من بدهید.

در نسخه 0.34.1d جدید چه خبر است:



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

چه جدید در نسخه 0.34.1 است:



AgenaEdit با نحو برجسته و ساخته شده در موتور زمان اجرا با Agena 0.34.1 منتشر شد.

چه جدید در نسخه 0.34.0 است:


AgenaEdit با نحو برجسته و ساخته شده در موتور زمان اجرا با Agena 0.34.0 منتشر شد.

چه جدید در نسخه 0.33.2 جدید است:



Agena 0.33.2 با پشتیبانی از فایل xBase منتشر شده است.

چه جدید در نسخه 0.33.1 است:



Agena 0.33.1 با پشتیبانی از فایل xBase منتشر شده است.

چه جدید در نسخه 0.33.0 موجود است:


بسته جدید xbase می تواند فایل های xBase را با استاندارد dBASE III خواند و نوشت.
بسته های `binio` و` ads` اکنون می توانند فایل های تا 2 ^ 63 bytes را اداره کنند. قبل از اینکه آنها بتوانند تنها فایل هایی با اندازه تا 2 ^ 31 بایت را اداره کنند.
جدید 'io.lock`، `io.unlock`،` binio.lock`، `binio.unlock`،` ads.lock` و `ads.unlock` توابع را قفل کردن فایل از خواندن و نوشتن دسترسی توسط Agena دیگر
توابع و یا حتی برنامه های دیگر ارائه شده توسط دومی استفاده از پروتکل قفل است.
عملکرد baselib `read 'دیگر نمیتواند توسط` by` رونویسی شود.
'package.checkClib' جدید بررسی می کند که آیا بسته ای که به یک کتابخانه پویا C ذخیره شده است، راه اندازی شده است. اگر نه، یک هشدار چاپ شده روی صفحه نمایش داده می شود و یک جدول بسته خالی ایجاد می کند. در غیر این صورت چیزی نمی کند.
در حال حاضر پورت Haiku از کتابخانه های لینک پویا پشتیبانی می کند.

چه جدید در نسخه 0.32.3 است:



Agena 0.32.3 با توابع محاسباتی جدید و تنظیم شده منتشر شده است.
کاربران مک نیاز به نصب دیگر کتابخانه های وابستگی را ندارند.
بندر Haiku در حال حاضر در دسترس است.

چه جدید در نسخه 0.31.5 جدید است:


این نسخه شامل گرافیک داخلی، ریاضی دقت دلخواه و ویژگی های پیشرفته است.

چه جدید در نسخه 0.31.3 است:

بسته فراکتال اضافه شده به راحتی فراکتالها را در Solaris، Mac، Linux و Windows به رسمیت می شناسد.
در Solaris و لینوکس، `gdi.mouse` اکنون مقادیر استاندارد برای دکمه های فشار داده شده را باز می کند (همانطور که نسخه های مک و ویندوز انجام می شود).
با توجه به گزینه -v، Agena در حال حاضر فایل های اولیه را اجرا نمی کند.
در یونیکس یا مک، نام فایل های فایل های اولیه باید همیشه `.agenainit` باشند، چه در / usr / agena / lib و چه در پوشه شخصی.
توزیع مک باینری برای پردازنده های اینتل حدود 30 درصد سریعتر از نسخه های قبلی اجرا می شود.
عملکرد `io.getkey` در حال حاضر در نسخه Mac OS X در دسترس است.
در Mac، `os.system` در حال حاضر اطلاعات کامل درباره سیستم عامل و نوع پردازنده را باز می گرداند. توجه داشته باشید که اطلاعات مربوط به هسته داروین را باز می گرداند و اولین ورودی در جدول نتیجه ای است که به جای «MacOSX» Darwin است.
`os.memstate`،` os.freemem` و `os.beep` اکنون از Mac OS X پشتیبانی می کنند.
`io.anykey` در تمام سیستم عاملها قابل دسترسی است، اما DOS و Mac را` fail` باز می کند. بنابراین، `` gdi.draw` هنگام استفاده از گزینه 'mouse'، خطاهای دیگر را در مک حذف نخواهد کرد.`os.listcore` گسترش یافته است تا فقط فایل ها، دایرکتوری ها و یا لینک ها را باز گردانند. '.' و '..' در حال حاضر هرگز بازگشت نیست.
`os.list` هیچ گزینه ای را شناسایی نمی کند و به جای آن یک لیست خالی را بازگرداند. این ثابت شده است. همچنین، گزینه ها هم اکنون می توانند ترکیب شوند. '.' و '..' به عنوان اولین استدلال در حال حاضر به درستی به رسمیت شناخته شده است.
`os.curdir` در حال حاضر به طور خودکار جایگزین بر روی خط در مسیر مشخص شده با slashes.
`os.fstat` و` ads.attrib` Agena سقوط کردند اگر تاریخ پرونده بیش از سه شنبه، 19 ژانویه 2038 باشد. این با بازگشت یک جدول خالی برای کلید تاریخ (os.fstat) یا 0 / 01/01 00:00:00، (ads.attrib).
`utils.calendar 'Agena سقوط کرد، اگر بحث آن خلاف، منفی یا خیلی بزرگ بود. این تغییر کرده است علاوه بر این، اگر یک تاریخ فراتر از سه شنبه، 19 ژانویه 2038 باشد، تاریخ صحیح بازگردانده می شود.
توابع جدید `os.screensize` و` os.mousebuttons` وضوح صفحه نمایش در حال حاضر و تعداد دکمه های ماوس متصل را به ترتیب (فقط ویندوز) را برمی گرداند.
فایل agena.ini.sample به نام .agenainit.sample در توزیعهای یونیکس / مک نامگذاری شده است.

یک آرشیو جدید برای Solaris در حال حاضر با نقشه Agena اتصال به طور کامل کامپایل اصلی منابع MAPM نوشته شده توسط مایکل C. Ring.

چه جدید در نسخه 0.31.2 جدید است:

بسته mapm برای دقت ریاضی داوری نیز در نسخه DOS Agena در دسترس است.
تعداد ارقام استفاده شده توسط بسته mapm در هنگام راه اندازی Agena برای DOS یا OS / 2 Warp به 17 رقم آغاز می شود. پیش از این، پیش فرض 1 رقمی بود.
کد C برای اتصال MAPM استاندارد شده است. پیش از این، فایل های منبع DOS و OS / 2 از یونیکس و ویندوز متفاوت بود.
پیشرفت های کوچک به نصب ویندوز و Mac OS X.
در Mac، مستندات در حال حاضر در Library / Documentation / Agena به جای / Users / Share / Agena موجود است.
عملگرهای sin، cos، arcsin، arccos و arctan به جای 0 به عنوان واحد خیالی به جای 0 به نمایش گذاشته شد، که اگر نتیجه بازگشت این توابع به سایر توابع مانند ln (یعنی علامت خیالی واحد نتیجه این توابع دیگر اشتباه بود) این با تنظیم یک واحد خیالی -0 به 0 در بازگشت گناه، کس، arcsin، arccos و arctan ثابت شده است.
عملکردهای arcsin و arccos نتایج اشتباهاتی را برای استدلال z ارسال کردند، اگر abs (real ((z))) & lt؛ 1. این ثابت شده است.
در سیستم عامل / 2، بیشتر توابع محاسباتی پیچیده undefined بازگشت. این ثابت شده است.

توجه داشته باشید که در OS / 2 و DOS، در دامنه پیچیده هنوز هم با اپراتورهای arccos و arcsin وجود دارد که در شرایط خاص مشخص نشده اند.
نسخه های ویندوز، i386 Solaris 10 و لینوکس در حال حاضر با GCC 4.4.x (و بدون xmath86.h) کامپایل شده اند که تعداد خطاها در حساب های پیچیده را به طور قابل توجهی کاهش می دهد. در حقیقت، پرونده های پیچیده ریاضی پیچیده، خطاهای صفر را باز می گردانند. نسخه Sparc با GCC 4.3.3 برای Sun Sparc کامپایل شده است و دارای اشکالات کمتر در ریاضیات پیچیده نسبت به نسخه 0.31.1 است.
فایل های نامگذاری شده عبارتند از: config.h - & gt؛ agncfg.h، chelpers.h - & gt؛ agnhlps.h، agnxlib.h - & gt؛ agnxlib.h.
در Mac، gdi.mouse اکنون مقادیر استاندارد برای دکمه های موشواره را باز می کند.

چه جدید در نسخه 0.31.1 است:



Agena 0.31 شامل تمام ابزارهای اساسی برای طراحی نقاط، خطوط، حلقه ها، بیضی ها، مستطیل، قوس ها می باشد. و غیره، برای کنترل اندازه تصویر و رنگ.

چه جدید در نسخه 0.31.0 است:



انتشار یک قاعده زبان با رفع اشکال - منتشر شده است. تغییرات را برای تغییرات مشاهده کنید.

چه جدید در نسخه 0.30.4 جدید است:

Agena اکنون دارای گرافیک داخلی است. این به شما این امکان را می دهد تا نمودار ها، تصاویر و غیره را در پنجره های X11 یا Win32 یا GIF، PNG، JPEG، FIG یا فایل PostScript در هر دو سیستم Solaris، Linux و Windows بگذارید. Agena به کتابخانه گرافیکی G2 که توسط لووبومیر میلولوویچ و هورست واگنر نوشته شده است، به منظور ارائه این قابلیت های جدید، متصل می شود.
Agena 0.30 شامل تمام ابزارهای اساسی برای طراحی نقاط، خطوط، حلقه ها، بیضی ها، مستطیل، قوس ها می باشد. و غیره، برای کنترل اندازه تصویر و رنگ.
& gt؛ با 'gdi'؛
gdi package v0.1.4 از تاریخ 20 دسامبر 2009
قوس، arcfilled، پس زمینه، دایره، circlefilled، clearpalette، نزدیک، تیک، بیضی، ellipsefilled، فلاش، فونتزیز، initpalette، جوهر، lastaccessed، خط، خط جدید، newpoint، باز، قطعه، plotfn، نقطه، مستطیل، مستطیل شکل، بازنشانی، تنظیم مجدد، setinfo، setoptions، ساختار، متن، ضخامت، مثلث، trianglefilled، useink

تابع plotfn ترسیم یک یا چند نمودار از توابع در یک واقعی، به صورت اختیاری همراه با محورها در یک رنگ تعریف شده توسط کاربر طراحی شده است. محدوده محور y نیز می تواند داده شود، در غیر این صورت Agena بهترین تنظیم را تعیین می کند. گزینه های مختلف دیگری وجود دارد که می تواند با عملکرد setoptions تنظیم شود و به تمام نمودار های تولید شده در یک جلسه اعمال شود: وضوح پنجره، نقشه رنگ، ضخامت خط و رنگ پس زمینه. البته کاربر ممکن است برخی از یا همه گزینه ها را برای یک طرح خاص رد کند. ویژگی ها به درستی درمان می شوند.

چه جدید در نسخه 0.30.3 جدید است:



Agena 0.30.3 با گرافیک داخلی، ریاضی دقت دلخواه و ویژگی های بهبود یافته منتشر شده است.

در نسخه 0.30.2 جدید است:

Agena اکنون دارای گرافیک داخلی است. این به شما این امکان را می دهد تا نمودار ها، تصاویر و غیره را در پنجره های X11 یا Win32 یا GIF، PNG، JPEG، FIG یا فایل PostScript در هر دو سیستم Solaris، Linux و Windows بگذارید. Agena به کتابخانه گرافیکی G2 که توسط لووبومیر میلولوویچ و هورست واگنر نوشته شده است، به منظور ارائه این قابلیت های جدید، متصل می شود.
Agena 0.30 شامل تمام ابزارهای اساسی برای طراحی نقاط، خطوط، حلقه ها، بیضی ها، مستطیل، قوس ها می باشد. و غیره، برای کنترل اندازه تصویر و رنگ.
& gt؛ با 'gdi'؛
gdi package v0.1.4 از تاریخ 20 دسامبر 2009
قوس، arcfilled، پس زمینه، دایره، circlefilled، clearpalette، نزدیک، تیک، بیضی، ellipsefilled، فلاش، فونتزیز، initpalette، جوهر، lastaccessed، خط، خط جدید، newpoint، باز، قطعه، plotfn، نقطه، مستطیل، مستطیل شکل، بازنشانی، تنظیم مجدد، setinfo، setoptions، ساختار، متن، ضخامت، مثلث، trianglefilled، useink

تابع plotfn ترسیم یک یا چند نمودار از توابع در یک واقعی، به صورت اختیاری همراه با محورها در یک رنگ تعریف شده توسط کاربر طراحی شده است. محدوده محور y نیز می تواند داده شود، در غیر این صورت Agena بهترین تنظیم را تعیین می کند. گزینه های مختلف دیگری وجود دارد که می تواند با عملکرد setoptions تنظیم شود و به تمام نمودار های تولید شده در یک جلسه اعمال شود: وضوح پنجره، نقشه رنگ، ضخامت خط و رنگ پس زمینه. البته کاربر ممکن است برخی از یا همه گزینه ها را برای یک طرح خاص رد کند. ویژگی ها به درستی درمان می شوند.

چه جدید در نسخه 0.29.0 است:

Agena اکنون دارای گرافیک داخلی است. این به شما این امکان را می دهد که در یک پنجره یا یک فایل GIF، PNG، JPEG، FIG یا فایل PostScript در Solaris، Linux و Windows، از طریق اتصال به کتابخانه گرافیکی G2 توسط لووبومیر میلانوویچ و هورست واگنر.
Agena 0.29.0 دارای همه ابزارهای اساسی برای طراحی نقاط، خطوط، حلقه ها، بیضی ها، مستطیل، قوس ها است. و غیره، برای مدیریت رنگ و ایجاد فایل های تصویری یا باز کردن پنجره های X11 یا Win32.
در یکی از جدیدترین به روزرسانیها، یک رابط کاربری سطح بالا که شامل عملکردهای gdi.plotfn و gdi.plot می شود، شما را قادر می سازد تا توابع و مجموعه ای از نقاط را بر روی پرواز طراحی کنید. دو توابع قبلا در Agena 0.29.0 موجود است، اما هنوز بتا هستند. در اینجا یک پیش نمایش است:
& gt؛ با 'gdi'؛
gdi package v0.1.0 از تاریخ 24 نوامبر 2009
قوس، پس زمینه، دایره، clealpalette، نزدیک، خط تیره، بیضی، fillArc، filledCircle، filledEllipse، filledRectangle،
filltriangle، flush، fontsize، initpalette، ink، lastaccessed، line، open، plot، plotfn، point، مستطیل، تنظیم مجدد،
resetpalette، setinfo، setoptions، ساختار، متن، ضخامت، مثلث، useink

تابع plotfn گراف یک تابع را در یک واقعیت ترسیم می کند، به صورت اختیاری همراه با محور ها در یک رنگ تعریف شده توسط کاربر ترسیم می شود. محدوده محور y نیز می تواند باشد، در غیر این صورت Agena سعی می کند بهترین تنظیمات را تعیین کند. گزینه های مختلف دیگری وجود دارد که می تواند با عملکرد setoptions تنظیم شود و به تمام نمودار های تولید شده در یک جلسه اعمال شود: وضوح پنجره، نقشه رنگ، ضخامت خط و رنگ پس زمینه. البته کاربر ممکن است برخی از یا همه گزینه ها را برای یک طرح خاص رد کند. ویژگی ها به درستی درمان می شوند.
plotfn (sin (x) * x & gt؛ & gt ؛، -5، 5، رنگ ~ 'آبی'، axiscolour ~ 'خاکستری'، res ~ 640: 480)؛

چه جدید در نسخه 0.27.2 جدید است:

تابع baselib جدید toSet یک رشته را به مجموعه ای از کاراکترهایش تبدیل می کند و یک جدول یا توالی را به یک مجموعه می دهد.
io.readlines برای خطوط با بیش از 2048 کاراکتر پردازش شده است. اگر تخصیص حافظه داخلی با شکست مواجه شود، تابع هم اکنون خطایی می کند. اندازه بافر داخلی از 2048 بایت به 512 بایت کاهش یافته است. شما می توانید این را با اختصاص یک مقدار دیگر به AGN_IOREADLINES_MAXLINESIZE در فایل agnconf.h تغییر دهید.
io.readlines هم اکنون نیز دسته های فایل را می پذیرد. هنگام استفاده از دسته های فایل، به عنوان نام فایل ها مخالف، لطفا توجه داشته باشید که شما باید پس از استفاده از io.readlines فایل را به صورت دستی بسته کنید.
اگر پرونده وجود نداشته باشد، io.readlines دیگر یک جدول خالی را باز نمی گرداند. در عوض، خطایی صادر می کند.
به این ترتیب، toSeq خطایی را به جای شکست می گیرد اگر آن یک رشته، مجموعه یا جدول دریافت نمی کند.
تابع baselib مورد استفاده گسترش یافته است و می تواند استفاده از حافظه را در بایت، کیلوبایت و gbytes بازگرداند. این یک عملکرد C در حال حاضر است.
عملکرد غیرقانونی gcinfo حذف شده است. قابلیت آن توسط استفاده شده است.
تابع API جدید C agn_usedbytes تعداد بایت هایی که توسط سیستم استفاده می شود را باز می گرداند.
خطای اشتباه خطا در toTable اصلاح شده است.

تابع AOI تغییر نام داد 'agn_isioforcerror` به `agn_isioforceerror`.

چه جدید در نسخه 0.27.0 است:

تابع خطای math.erf اضافه شده و تابع خطای مکمل math.erfc اضافه شده است.
تابع بسل از نوع اول math.besselj اضافه شده است و تابع بسل از ریاضی نوع دوم است. دستور توسط اولین استدلال داده می شود، این استدلال به عنوان دومین استدلال است.
اگر متغیر محیط جدید _EnvIoForceError به مقدار غیر null (به طور پیش فرض) تنظیم شده باشد، io.open، io.readlines و توابع مختلف binio، به جای فقط بازگشت به طور معمول، خطا را ترک می کنند.
binio.readbytes و binio.readchar توالی خالی را به جای شکست در صورتی که فایل خواندن وجود نداشته باشد، بازگرداند. این تغییر شده است: شکست خوردن یا خطا در حال حاضر بازگشته است.
arcsin و arccos در حال حاضر اپراتور هستند و در نتیجه حدود 40٪ سریعتر هستند.
اضافه شده اپراتور xor که یک Boolean exclusive-OR را بر روی مقادیری که ارزیابی یا درست، غلط، شکست و صفر است انجام می دهد.
اپراتور ظاهر شده را اضافه می کند که بررسی می کند که آیا یک کلمه در یک عبارت به پایان می رسد و موقعیت خود را به عنوان یک عدد باز می گرداند. اگر رشته ها یکسان باشند، اپراتور صفر را خالی می کند، حداقل یکی از آنها رشته خالی است یا کلمه به الگوی داده نشده پایان نمی دهد.در حال حاضر فقط قابل برگشت است درست است، اگر یک جدول یادداشت خواندن و نوشتن داشته باشد (به روز شده توسط دستور return).
تابع جدید hasrotable تعیین می کند که آیا یک تابع یک جدول به یاد داشته باشید فقط خواندنی (که نمی تواند با دستور return به روز شود) و true یا false را می دهد.
اپراتورهای جدید gethigh و getlow بایت های بالاتر و پایین را از یک عدد بازیابی می کنند (یعنی C دو برابر).
اپراتورهای جدید sethow و setlow بایت های بالاتر و پایین را به یک عدد (یعنی C دو برابر) تنظیم می کنند.
اپراتورهای جدید باند، bor، bxor و bnot عمل بیتی و عملیات منحصر به فرد و یا مکمل را بر روی اعداد انجام می دهند.
تابع `kernel` جدید تنظیمات کرنل Agena را تنظیم می کند. در حال حاضر می تواند نحوه عملگرهای bitwise داخلی (استفاده از عدد صحیح امضا شده یا بدون امضای) و نحوه چاپ اعداد را تغییر دهد.
با اعداد حقیقی x، math.argument حالا Pi را به جای 0 اگر x & lt؛ 0
به دلیل یک اشکال در توابع کتابخانه عمومی ANSI C، arcs و arccos نتایج اشتباه را با اعداد پیچیده ای تولید کردند اگر بخش تصوری آنها در سیستم های یونیکس صفر باشد. این ثابت شده است.
math.isPrime با شماره 2 اشتباه گزارش شده است. این اصلاح شده است.همانطور که در خلاف دستورالعمل، abs بازگشت 2 با شکست. حالا به صورت مستند -1.
بسته بیت ها حذف شده است.
تابع API جدید C agn_isioforcerror اضافه شده است که بررسی می کند که آیا _EnvIoForceError به یک مقدار غیر null تنظیم شده است.
تابع API جدید C agn_setbitwise تعیین می کند که آیا اپراتورهای باند، bor، bnot، bxor و shift در داخل با اعداد صحیح امضا شده یا بدون علامت محاسبه می شوند.
تابع API جدید C agn_getbitwise حالت تنظیم شده توسط agn_setbitwise را باز می کند.
تابع API جدید C agn_setdigits تعدادی از ارقام مورد استفاده برای چاپ اعداد را تنظیم می کند.
تابع API جدید C agn_getdigits تعداد عدد مورد استفاده برای چاپ اعداد را تعیین می کند.
داخلی: ورودی "REPL" نامعتبر از luaP_opnames حذف شد.
نصب کننده ویندوز در حال حاضر برای یک نسخه قبلا نصب شده Agena، با جلوگیری از نصب برنامه، اگر نمونه دیگری از آن در حال اجرا است، و با برخی از دیگر پیشرفت های کوچک، بهبود یافته است.

مورد نیاز:



Ncurses
گنو ریدلین

نرم افزار های مشابه

نظرات به Agena

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!