د کریسټال پروګرامینګ ژبه خپرول 1.5

د کریسټال 1.5 برنامه کولو ژبه خپره شوې ، چې پراختیا کونکي یې هڅه کوي په روبي ژبه کې د پراختیا اسانتیا د C ژبې د لوړ غوښتنلیک فعالیت ځانګړتیا سره یوځای کړي. د کریسټال ترکیب نږدې دی، مګر د روبي سره په بشپړه توګه مطابقت نلري، که څه هم د روبي ځینې پروګرامونه پرته له تعدیل څخه پرمخ ځي. د کمپیلر کوډ په کرسټال کې لیکل شوی او د اپاچي 2.0 جواز لاندې ویشل شوی.

ژبه د جامد ډول چک کولو څخه کار اخلي، پرته له دې چې په کوډ کې د متغیرونو او میتود دلیلونو په واضح ډول مشخص کولو اړتیا پرته پلي شي. کرسټال پروګرامونه د اجرا وړ فایلونو کې تالیف شوي، د میکرو ارزول شوي او د تالیف په وخت کې تولید شوي کوډ سره. په کریسټال برنامو کې ، دا ممکنه ده چې په C کې لیکل شوي بانډونه وصل کړئ. د کوډ اجرا کولو موازي کول د "سپون" کلیدي کلمې په کارولو سره ترسره کیږي، کوم چې تاسو ته اجازه درکوي د شالید دنده په غیر متناسب ډول پرمخ بوځي، پرته له دې چې اصلي تار بند کړي، د سپک وزن لرونکي تارونو په بڼه چې فایبر نومیږي.

معیاري کتابتون د عامو دندو لوی سیټ چمتو کوي، پشمول د CSV، YAML، او JSON پروسس کولو وسیلې، د HTTP سرورونو رامینځته کولو اجزا، او د ویب ساکټ ملاتړ. د پراختیا پروسې په جریان کې ، دا د "کریسټال لوبې" کمانډ کارولو لپاره مناسب دی ، کوم چې په کریسټال ژبه کې د کوډ متقابل اجرا کولو لپاره ویب انٹرفیس (لوکل هوسټ: 8080 په ډیفالټ) رامینځته کوي.

اصلي بدلونونه:

  • تالیف کونکي د یوې خلاصې میتود پلي کولو او د هغې په تعریف کې د دلیل نومونو مطابقت لپاره چک اضافه کړی. که چیرې د نوم سره سمون نه وي، نو اوس یو خبرداری خپور شوی: د خلاصې ټولګي FooAbstract abstract def foo(number: Int32): Nil end class Foo < FooAbstract def foo(name: Int32): Nil p name پای پای 6 | def foo(name: Int32) : Nil ^— خبرتیا: موقعیتي پیرامیټر 'نوم' د تکرار شوي میتود د پیرامیټر 'نمبر' سره مطابقت لري FooAbstract#foo(number: Int32)، کوم چې بل نوم لري او ممکن د نوم دلیل تیریدل اغیزه وکړي.
  • کله چې د متغیر ارزښت ته د نه ټایپ شوي میتود لپاره دلیل وړاندې کول، دلیل اوس د دې متغیر ډول پورې محدود دی. کلاس Foo @x : Int64 def initialize(x) @x = x # پیرامیټر x به د @x پای پای ټایپ شي
  • تاسو ته اجازه درکوي د میتودونو یا میکرو پیرامیټونو ته تشریحات اضافه کړئ. def foo(@[MaybeUused]x); پای # سمه ده
  • په ټپلونو کې د شاخصونو او نومونو په توګه د ثابت کارولو لپاره ملاتړ اضافه شوی. KEY = "s" foo = {s: "String" n: 0} foo[KEY].size اچوي
  • د فایلونو او لارښودونو ړنګولو لپاره د فایل API کې نوي فایل # حذف کولو میتودونه اضافه شوي. او Dir#delete؟، کوم چې غلط راګرځي که چیرې فایل یا لارښود ورک وي.
  • د File.tempfile میتود محافظت پیاوړی شوی، کوم چې اوس په لینونو کې چې د فایل نوم جوړوي د null حروف اجازه نه ورکوي.
  • د چاپیریال متغیر NO_COLOR اضافه شوی، کوم چې په کمپیلر او ژباړونکي محصول کې د رنګ روښانه کول غیر فعالوي.
  • د ژباړونکي حالت کې کار د پام وړ ښه شوی دی.

سرچینه: opennet.ru

Add a comment