پروگرامنگ لینگویج Haxe 4.2 کی ریلیز

Haxe 4.2 ٹول کٹ اب دستیاب ہے۔ اس میں ہیکس ملٹی پیراڈیم، مضبوطی سے ٹائپ شدہ، اعلیٰ سطحی پروگرامنگ زبان، ایک کراس کمپائلر، اور ایک معیاری لائبریری شامل ہے۔ یہ پروجیکٹ C++، HashLink/C، JavaScript، C#، Java، PHP، Python، اور Lua میں ترجمہ کے ساتھ ساتھ JVM، HashLink/JIT، Flash، اور Neko bytecode کی تالیف، ہر ٹارگٹ پلیٹ فارم کی مقامی صلاحیتوں تک رسائی کے ساتھ تعاون کرتا ہے۔ کمپائلر کوڈ GPLv2 کے تحت لائسنس یافتہ ہے، اور معیاری لائبریری اور Haxe کے لیے تیار کردہ HashLink اور Neko ورچوئل مشینیں MIT لائسنس کے تحت لائسنس یافتہ ہیں۔

زبان اظہار پر مبنی ہے اور مضبوطی سے ٹائپ کی گئی ہے۔ آبجیکٹ پر مبنی، عام اور فنکشنل پروگرامنگ تکنیکوں کی حمایت کی جاتی ہے۔ ہیکس کا نحو ECMAScript کے قریب ہے اور اس میں اسٹیٹک ٹائپنگ، ٹائپ انفرنس، پیٹرن میچنگ، جنرکس، ایٹریٹر پر مبنی "فور" لوپ، AST میکروز، GADTs (عمومی الجبری ڈیٹا ٹائپس)، تجریدی اقسام، گمنام ڈھانچے، اکسپریس کمپلیکس تعریف، اٹیچنگ کنڈیشنز، سمپلی کی قسمیں شامل ہیں۔ فیلڈز، کلاسز، اور ایکسپریشنز کے لیے میٹا ڈیٹا، سٹرنگ انٹرپولیشن ('میرا نام $نام ہے')، ٹائپ پیرامیٹرز ('نیا مین')، اور مزید۔ ("foo")') اور بہت سے دوسرے۔ کلاس ٹیسٹ { جامد فنکشن مین () { حتمی لوگ = [ "ایلزبتھ" => "پروگرامنگ"، "جوئل" => "ڈیزائن"]؛ for (نام => لوگوں میں نوکری) { ٹریس('$name کرتا ہے $job for a live!'); } } }

ورژن 4.2 میں نئی ​​خصوصیات:

  • ماڈیول کی سطح پر جامد متغیرات اور افعال کا اعلان کرنا، انہیں کلاس میں لپیٹنے کی ضرورت کے بغیر۔
  • "کلاسک" خلاصہ کلاسز اور فنکشنز کے لیے سپورٹ۔
  • تمام ٹارگٹ پلیٹ فارمز (haxe.Rest) کے لیے متغیر فنکشنز کا مقامی نفاذ اور آرگیومینٹ انفولڈنگ آپریٹر "f(...array)" کا اضافہ۔
  • انفرادی تھریڈز کے لیے ایونٹ لوپ کا نفاذ ("sys.thread.Thread.events")۔
  • وراثت کی قسم/فیلڈ دستاویزات کے لیے میٹا ڈیٹا "@:inheritDoc"۔
  • تمام ٹارگٹ پلیٹ فارمز پر بیرونی طریقوں کے لیے طریقہ اوورلوڈنگ کے لیے سپورٹ۔
  • "@:forward.new" میٹا ڈیٹا کا استعمال کرتے ہوئے کنسٹرکٹر کو اپنی قسم کے خلاصے میں آگے بڑھانا۔
  • "EIs" کنسٹرکٹر کو "haxe.macro.Expr" میں شامل کر دیا گیا ہے۔
  • "@:forward.variance" کے ساتھ ایک تجریدی قسم کی قسم بنانے کی صلاحیت۔
  • تغیر کو یکجا کرتے وقت "کسی بھی" قسم کی "متحرک" کے طور پر نمائندگی۔
  • کچھ بنیادی استثنائی قسمیں "haxe.exceptions" پیکیج میں شامل کی گئی ہیں۔
  • متغیرات کا اعلان کرتے وقت میٹا ڈیٹا منسلک کرنے کے لیے معاونت۔
  • 'StringTools.unsafeCharAt' فنکشن سٹرنگ تکرار میں استعمال ہوتا ہے۔
  • eval (ترجمان): پیکج 'eval.luv' میں libuv پر پابندیاں شامل کی گئیں۔
  • eval: "eval.integers" پیکیج کے ذریعے مقامی "Int64" اور "UInt64" کے نفاذ کے لیے پابندیاں۔
  • cs: UDP ساکٹ کا نفاذ۔
  • cs: ماڈیول "cs.Syntax" C# کوڈ کے ان لائن اندراج کے لیے۔
  • jvm: پیدا شدہ متحرک کوڈ کی اصلاح کی تعداد کو کنٹرول کرنے کے لیے "-D jvm.dynamic-level=x" جھنڈا شامل کیا گیا۔ 0 = کوئی نہیں، 1 = فیلڈ ریڈ/رائٹ آپٹیمائزیشنز، 2 = میتھڈ کلوزز کمپائل کے وقت۔
  • java, jvm: "-java-lib <directory>" پرچم کے لیے سپورٹ۔
  • python: تھریڈنگ API کا نفاذ۔

عمومی بہتری:

  • "expr is SomeType" کو قوسین کی ضرورت نہیں ہے۔
  • "@:using" قسم کے ایکسٹینشنز کی ترجیح میں اضافہ۔
  • 'سپر' کے ذریعے جامد قسم کی توسیع کی اجازت ہے۔
  • "@:noDoc" فیلڈز کے لیے میٹا ڈیٹا سیٹ کرنے کی اہلیت۔
  • خلاصہ قسم "نقشہ" کو عبوری بنایا گیا ہے۔
  • اینوم کنسٹرکٹرز پر "@: مقامی" کے لیے سپورٹ۔
  • قسم کے اعلانات ("typedefs") پر "@:using" کے لیے سپورٹ۔
  • ملٹی لائن کی غلطیاں "..." کو بعد کی لائنوں کے لیے بطور سابقہ ​​استعمال کرتی ہیں۔
  • قسم کے تخمینے پر دوبارہ کام کیا گیا ہے، گمنام ڈھانچے بہتر طور پر واضح اقسام میں تبدیل ہو جاتے ہیں اور فنکشن ختم ہونے پر "بند" ہو جاتے ہیں۔
  • بغیر دلیل کے فنکشنز کی قسم کا اندازہ "Void->…" کے بجائے "()->…" کے طور پر کریں۔
  • کلیدی لفظ "فنکشن" کی اجازت پیکیج کے نام کے طور پر ہے۔
  • اشیاء کی بہتر ان لائننگ۔
  • cs: .NET 5.0 کے لیے سپورٹ شامل کر دی گئی۔
  • cpp: بیرونی کلاسوں میں مقامی تعمیر کنندگان کے لیے معاونت۔
  • php: مقامی صف کا اعلان کرنے کے لیے "php.Syntax.customArrayDecl" شامل کیا گیا۔
  • php: مختلف فنکشنز اور کلاسز کے لیے اپ ڈیٹ شدہ بیرونی طریقے (externs)۔
  • php: گمنام ڈھانچے کا بہتر نفاذ۔
  • hl: اگر ماڈیولز میں کوئی تبدیلی نہیں کی جاتی ہے تو تالیف کو چھوڑ دیں۔
  • lua: json کو پارس کرنے کے لیے "hx-lua-simdjson" کا استعمال۔
  • jvm: "sys.thread.Lock" کے نفاذ میں CPU لوڈ میں کمی۔
  • js: گوگل کلوزر کمپائلر کے ساتھ بہتر مطابقت۔
  • null Safety: متغیرات کا اعلان کرتے وقت "@:nullSafety(Off)" پر غور کریں: "var @:nullSafety(Off) v"۔

VSCode ایڈیٹر ایڈ آن کو بھی تازہ ترین کمپائلر ورژن میں اپ ڈیٹ کر دیا گیا ہے، جس میں گمشدہ انٹرفیس فیلڈز، سادہ اور تجریدی کلاسز، اور پراپرٹی کے طریقے پیدا کرنے کے لیے ٹول ٹپس شامل ہیں۔

ماخذ: opennet.ru

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster