قدیم قسم کا ترجمہ ایک قدیم نوعیت میں کیا جاتا ہے اور پھر اسے تھوڑا سا قسم میں ترجمہ کیا جاتا ہے۔ جولیا کے لئے ، میں سمجھتا ہوں کہ بعد کا ترجمہ زیادہ مناسب ہے ، کیونکہ جولیا میں ، بلٹ ان انٹ یا UInit لمبی نوعیت کے سوا سوائے بگ انٹ کے لئے ہے ۔ان اقسام کے ل you ، آپ کو لازمی طور پر لازمی ہے کہ اس قسم کے قبضہ میں بٹس کی تعداد بتانا۔
جولیا اپنی مرضی کے مطابق قدیم اقسام کی اجازت دیتا ہے۔ قدیم قسم کی وضاحت کرنے کے لئے دو نحو ہیں۔
# وارث نہ ہوں ابتدائی قسم «نام» «بٹس» اختتام # وراثت ہے قدیم قسم «نام» < : «سپر ٹائپ» «بٹس» اینڈہم کسی قدیم قسم کی وضاحت کرنے کی کوشش کرتے ہیں
آدم کی قسم ایک ٹھوس قسم ہے ، جس کا مطلب ہے کہ اسے فوری بنایا جاسکتا ہے۔ ہم جانتے ہیں کہ جولیا میں ایک جامع قسم بھی ایک ٹھوس قسم ہے۔ اگر بیان کردہ کمپوزٹ قسم میں داخلی کنسٹرکٹر نہیں ہے تو پہلے سے طے شدہ ڈھانچہ تشکیل دیا جائے گا۔ کیا قدیم قسم میں بھی پہلے سے طے شدہ تعمیر کنندہ ہوتا ہے؟ جواب نہیں ہے۔
اس کا مطلب یہ ہے کہ آپ کو خود ساختہ کی وضاحت کرنی ہوگی ، جو اکثر بنیادی اقسام کا سب سے مشکل حصہ ہوتا ہے۔ سرکاری دستاویز میں اس کا ذکر نہیں کیا گیا ہے ، اور انٹرنیٹ پر استعمال ہونے والی معلومات کو تلاش کرنا مشکل ہے۔ میں اس سوال کو دو قسموں میں تقسیم کرتا ہوں۔
کیس 1. قدیم قسم کی لمبائی 128 سے کم یا اس کے برابر ہے
یہ ایک قسم کی تبدیلی کا مسئلہ بن جاتا ہے۔ بنیادی لائبریری میں مدد فراہم کرنے کے لئے ٹولز موجود ہیں۔
اس طرح تعمیر کنندگان کی وضاحت کرنا آسان ہے۔
UBit32 (x :: T) جہاں ٹی < : اعداد = UInt32 (x)
جولیا میں سب سے بڑی بلٹ میں قدیم اقسام UInt128 ہیں جن میں 128 بٹس اور انٹ 128 ہیں۔
مقدمہ قدیم لمبائی لمبائی 128 سے زیادہ ہے
اس وقت ، کنورٹ یا بِکاسٹ کا استعمال آسان نہیں ہے۔ جولیا ٹولز کا ایک اور سیٹ مہیا کرتی ہے۔
sext_int کا استعمال دستخط شدہ عدد کو دوسری قسم میں تبدیل کرنے کے لئے کیا جاتا ہے۔
zext_int بغیر دستخط کیے ہوئے عدد کو دوسری قسم میں تبدیل کرنے کے لئے استعمال ہوتا ہے
چیک_ٹاپ_بیٹ سائن بٹ کو چیک کرنے کے لئے استعمال کیا جاتا ہے ، اگر یہ منفی نمبر ہے تو ، ایک استثناء پھینک دیا جاتا ہے۔ ہم توقع کرتے ہیں کہ منفی نمبروں کو دستخط شدہ اقسام میں تبدیل نہیں کیا جاسکتا۔
آخر میں ، ایک چھوٹا سا سوال اٹھایا جاتا ہے۔ کیا جولیا 1.0 میں ابتدائی قسموں جیسے 24 بِٹ ، 48 بِٹ اور 56 بِٹ کو اپنی مرضی کے مطابق بنانا ممکن ہے؟