مستندات توسعهدهنده
PSScript
PSScript زبان اسکریپت کوچک و ایزولهای است که در دل پلتفرم ParadicShift ساخته شده است. آن را درون گامهای گردشکار مینویسید تا داده بسازید و ذخیره کنید، بر اساس ورودیها شاخه بزنید، فرایندهای دیگر را فرابخوانید، با مدلهای هوش مصنوعی گفتوگو کنید، ایمیل بفرستید و گردشکار را به جلو هدایت کنید — همه بدون خروج از طراح.
PSScript چیست؟
هر گام خودکارسازی در یک فرایند ParadicShift میتواند یک برنامهٔ PSScript را اجرا کند. اسکریپت یکبار به بایتکدی فشرده کامپایل میشود و سپس هر بار که گام اجرا میشود توسط یک ماشین مجازیِ درونحافظهای اجرا میگردد. اسکریپتها هرگز مستقیماً به ماشین میزبان دست نمیزنند: همهٔ اثرهای جانبی — نوشتن در پایگاهداده، ایمیل، HTTP و فراخوانیهای هوش مصنوعی — از یک واسط میزبانِ کنترلشده عبور میکنند که اجرا را امن و میان نمونههای ابریِ پلتفرم قابلحمل نگه میدارد.
سطح کوچک
تعداد انگشتشماری کلیدواژه و دوازده شیء سیستمی — در یک بعدازظهر یادگرفتنی.
دادهمحور
موجودیتهای درجهیک، هندسهٔ GIS، متن چندزبانه و یک سازندهٔ پرسوجوی روان.
ایزولهشده
بدون دسترسی مستقل به فایل یا شبکه — هر اثری از طریق میزبان میانجیگری میشود.
برگشتپذیر
یک بلوک اختیاری rollback به یک گام اجازه میدهد در صورت شکست گردشکار، خود را خنثی کند.
نخستین اسکریپت
کوچکترین برنامهٔ معتبر یک بلوک main تنهاست:
minimal.pssmain {
context$.log("Hello from PSScript.");
}یک گام واقعیتر یک موجودیت میسازد، آن را ذخیره میکند، مقداری را برای گامهای بعدی در دسترس میگذارد و گردشکار را به جلو هدایت میکند:
main {
var order = PSEntity("com.domain.commerce.Order");
order.identifier("ORD-2024-001");
order.val("customerId", param$["customerId"]);
order.val("total", 149.99);
order.text("status", "en", "Pending");
data$.persist(order);
output$["orderId"] = "ORD-2024-001";
router$.allow("payment_connector");
}
rollback {
context$.log("Order creation rolled back.");
}یک اسکریپت چگونه اجرا میشود
متن مبدأ پیش از تولید اثرهای جانبی از چهار مرحله عبور میکند. هر مرحله خطاها را با موقعیت دقیق line:col گزارش میدهد، بنابراین اشتباهات نگارش در زمان کامپایل گرفته میشوند نه میان اجرا.
کامپایل یکبار رخ میدهد. بایتکد حاصل را میتوان بدون تجزیهٔ دوباره بارها اجرا کرد، که گامهای پرحجم را سریع نگه میدارد.
ساختار برنامه
یک اسکریپت یک بلوک سطحبالای الزامی و یک بلوک اختیاری دارد:
| بلوک | الزامی | زمان اجرا |
|---|---|---|
main { … } |
بله | گام گردشکار بهطور عادی اجرا میشود. |
rollback { … } |
اختیاری | گردشکار یک گامِ پیشتر کاملشده را جبران / واگرد میکند. |
گام بعدی کجاست
مرجع به چهار فصل متمرکز تقسیم شده است:
| مرجع زبان | کامنتها، مقادیر ثابت، متغیرها، عملگرها، کنترل جریان و مدیریت خطا. |
| اشیای سیستمی | دوازده شیء $: context$، data$، workflow$، ai$ و موارد دیگر. |
| موجودیتها و پرسوجوها | PSEntity، متن چندزبانه، هندسهٔ GIS و سازندهٔ PSEntityQuery. |
| نمونهها | اسکریپتهای کامل و قابلاجرا برای الگوهای رایج گردشکار. |