Nim ක්‍රමලේඛන භාෂාවේ නව අනුවාදය 0.20

සිදු විය පද්ධති ක්‍රමලේඛන භාෂා නිකුතුව නිම් 0.20.0. භාෂාව ස්ථිතික ටයිප් කිරීම භාවිතා කරන අතර පැස්කල්, සී++, පයිතන් සහ ලිස්ප් මනසින් ගොඩනගා ඇත. Nim මූලාශ්‍ර කේතය C, C++, හෝ JavaScript නිරූපණයකට සම්පාදනය කෙරේ. පසුව, ප්‍රතිඵලයක් ලෙස ලැබෙන C/C++ කේතය, පවතින ඕනෑම සම්පාදකයක් (clang, gcc, icc, Visual C++) භාවිතයෙන් ක්‍රියාත්මක කළ හැකි ගොනුවකට සම්පාදනය කරනු ලැබේ, ඔබ ධාවන පිරිවැය සැලකිල්ලට නොගන්නේ නම්, C ට ආසන්න කාර්ය සාධනයක් ලබා ගැනීමට ඔබට ඉඩ සලසයි. කසළ එකතු කරන්නා. පයිතන් හා සමානව, නිම් බ්ලොක් බෙදුම්කරුවන් ලෙස ඉන්ඩෙන්ටේෂන් භාවිතා කරයි. Metaprogramming මෙවලම් සහ වසම්-විශේෂිත භාෂා (DSLs) නිර්මාණය කිරීමේ හැකියාවන් සඳහා සහය දක්වයි. ව්යාපෘති කේතය සපයා ඇත MIT බලපත්‍රය යටතේ.

Nim 0.20 නිකුතුව පළමු ස්ථාවර 1.0 නිකුතුව සඳහා මුදා හැරීමේ අපේක්ෂකයෙකු ලෙස දැකිය හැකිය, භාෂාවේ තත්වය සිදු කරන පළමු ස්ථාවර ශාඛාව පිහිටුවීමට අවශ්‍ය අනුකූලතා බිඳීමේ වෙනස්කම් කිහිපයක් ඇතුළත් වේ. 1.0 අනුවාදය ස්ථායී, දිගු කාලීන ආධාරක නිකුතුවක් ලෙස හුවා දක්වන අතර එය භාෂාවේ ස්ථායී කොටසෙහි පසුගාමී අනුකූලතාවයක් පවත්වා ගැනීමට සහතික වේ. වෙනමම, සම්පාදකයේ පර්යේෂණාත්මක මාදිලියක් ද පවතිනු ඇත, එහි පසුගාමී ගැළපුම බිඳ දැමිය හැකි නව විශේෂාංග සංවර්ධනය කෙරේ.

Nim 0.20 හි යෝජිත වෙනස්කම් වලින්, අපට ඉස්මතු කළ හැකිය:

  • "නැත" දැන් සෑම විටම unary operator වේ, i.e. "Assert(නෑ)" වැනි ප්‍රකාශන දැන් වලංගු නොවන අතර "Asert not a" පමණක් අවසර ඇත;
  • සම්පාදනය කරන අවස්ථාවේදී පූර්ණ සංඛ්‍යා සහ තාත්වික සංඛ්‍යා පරිවර්තනය කිරීම සඳහා දෘඪ චෙක්පත් සක්‍රීය කර ඇත, i.e. "const b = uint16(-1)" යන ප්‍රකාශනය දැන් දෝෂයක් ඇති කරයි, මන්ද -1 අත්සන් නොකළ පූර්ණ සංඛ්‍යා වර්ගයකට පරිවර්තනය කළ නොහැක;
  • නියතයන් සහ ලූප් විචල්‍යයන් සඳහා ටියුපල් ඉවත් කිරීම සපයනු ලැබේ.
    උදාහරණයක් ලෙස, 'const (d, e) = (7, "eight")' සහ "f සඳහා (x, y) in f" වැනි පැවරුම් දැන් භාවිතා කළ හැක;

  • හෑෂ් සහ වගු පෙරනිමියෙන් ආරම්භ කිරීම සපයා ඇත. උදාහරණයක් ලෙස, "var s: HashSet[int]" ප්‍රකාශ කිරීමෙන් පසු, ඔබට වහාම "s.incl(5)" ක්‍රියාත්මක කළ හැක, එය දෝෂයකට තුඩු දුන්නේය;
  • "නඩු" ක්‍රියාකරු සහ අරා දර්ශකය සීමාවෙන් ඔබ්බට සම්බන්ධ ගැටළු සඳහා දෝෂ වල තොරතුරු අන්තර්ගතය වැඩිදියුණු කිරීම;
  • පුනරාවර්තනය අතරතුර මේසයේ දිග වෙනස් කිරීම තහනම්ය.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න