ট্র্যাক
/
Gleam
Gleam
/
সিলেবাস
/
ওপেক টাইপস
ওপ

ওপেক টাইপস মধ্যে Gleam

4টি অনুশীলনী

ওপেক টাইপস সম্পর্কে

গ্লেমে অপেক টাইপ হলো কাস্টম টাইপ, যেখানে কেবল যে মডিউল টাইপটি ডিফাইন করে, সেই মডিউলই টাইপটির মান তৈরি করতে বা প্যাটার্ন ম্যাচ করতে পারে। এটি এমন টাইপ তৈরির কাজে দরকারি, যেগুলো কেবল একটি নির্দিষ্ট উপায়ে ব্যবহার করা উচিত।

অপেক টাইপ opaque কিওয়ার্ড দিয়ে ডিফাইন করা হয়।

pub opaque type PositiveInt {
  PositiveInt(inner: Int)
}

এই PositiveInt টাইপটি এমন পরিস্থিতিতে ব্যবহার করা হয় যেখানে একটি ইন্ট দরকার, কিন্তু সেটি শূন্য বা তার চেয়ে বড় হতে হবে। সাধারণ গ্লেম Int ব্যবহার করা যেত না, কারণ সেগুলো ঋণাত্মকও হতে পারে।

যে মডিউল এই টাইপটি ডিফাইন করে, সেটি ভেতরের ইন্ট মানটি পাওয়ার জন্য একটি ফাংশন ডিফাইন করতে পারে, আর PositiveInt টাইপ তৈরির জন্য একটি ফাংশন, যা মানটি ধনাত্মক না হলে একটি এরর রিটার্ন করবে।

pub fn from_int(i: Int) -> Result(PositiveInt, String) {
  case i {
    _ if i < 0 -> Error("Value must be positive")
    _ -> Ok(PositiveInt(i))
  }
}

pub fn to_int(i: PositiveInt) -> Int {
  i.inner
}

এই API দিয়ে অন্য মডিউলগুলো ঋণাত্মক মান দিয়ে একটি PositiveInt তৈরি করতে পারে না, তাই যে কোনো ফাংশন PositiveInt নেয়, সে নিশ্চিত থাকতে পারে যে মানটি ধনাত্মক।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

ওপেক টাইপস শিখুন

অনুশীলন লক করা আছে

ওপেক টাইপস অনুশীলন করতে আরও ১টি অনুশীলনী আনলক করুন