Primitive types
API summary (generated from the Beans source by npm run coverage): 17 types · 2 instance methods.
Primitive type হলো Beans-এর সবচেয়ে ছোট ধরনের value। এটা অন্য কোনো value দিয়ে বানানো না। প্রতিটা primitive সরাসরি (unboxed) generated code-এ থাকে, তাই এগুলো ব্যবহার করা সস্তা।
প্রতিটা binding-এর সাথে তার type লেখা থাকে। যেমন:
let x: int = 5let ok: bool = truelet name: string = "beans"type গুলো
“type গুলো” সেকশন| Type | কী ধরে রাখে | Size |
|---|---|---|
unit | কিছুই না; খালি value | 0 bytes |
bool | true বা false | 1 byte |
int | 64-bit signed পূর্ণসংখ্যা | 8 bytes |
i8 i16 i32 i64 | নির্দিষ্ট চওড়ার signed পূর্ণসংখ্যা | 1, 2, 4, 8 bytes |
uint | 64-bit unsigned পূর্ণসংখ্যা (word type) | 8 bytes |
u8 u16 u32 u64 | নির্দিষ্ট চওড়ার unsigned পূর্ণসংখ্যা | 1, 2, 4, 8 bytes |
byte | u8-এর আরেক নাম | 1 byte |
float | 64-bit IEEE double | 8 bytes |
f32 f64 | নির্দিষ্ট চওড়ার float | 4, 8 bytes |
decimal | base-10 নিখুঁত সংখ্যা | 32 bytes, align 16 |
string | immutable UTF-8 text | , |
যে নাম গুলো জেনে রাখা দরকার
“যে নাম গুলো জেনে রাখা দরকার” সেকশনintহলোi64-এর আসল রূপ।intলিখলে একটা signed 64-bit পূর্ণসংখ্যা পাওয়া যায়।floatআরf64একই জিনিস।byteআরu8একই জিনিস।uintআরintহলো word type। Beans-এusizeবাisizeনেই; signed word-sized সংখ্যার জন্যintব্যবহার করা হয়, আর unsigned-এর জন্যuint।
unit
“unit” সেকশনunit হলো খালি value। এটা 0 byte নেয়। যে function কিছুই return করে না, সেটা
unit return করে। এটা খুব কমই হাতে লিখতে হয়।
bool
“bool” সেকশনbool হলো true বা false, এক byte।
decimal
“decimal” সেকশনdecimal হলো base-10 নিখুঁত সংখ্যা। যেসব জায়গায় binary-float-এর rounding error
হলে ভুল হবে — যেমন টাকা-পয়সা — সেখানে এটা কাজে লাগে। এটা 32 byte নেয়, আর 16-তে
align হয়।
decimal শুধু সেই সব target-এ থাকে যেগুলো এটা support করে।
thumbv7em-none-eabi আর riscv32-unknown-none-elf-এ এটা নেই। নিয়মগুলো
Numbers আর decimal-এ পড়ে নিন।
string
“string” সেকশনstring হলো immutable UTF-8 text। একবার বানানোর পর আর বদলায় না। প্রতিটা method
দেখতে string পড়ুন। বাড়তে পারা, বদলানো যায় এমন byte
buffer লাগলে Bytes দেখুন।
সবকিছুরই method আছে
“সবকিছুরই method আছে” সেকশনএমনকি একটা সাধারণ number বা string literal-এরও method আছে। literal-এর ওপর সরাসরি method call করা যায়:
let a: int = (-5).abs()let b: float = 3.7.round()let c: Result<int> = "42".to_int()আরও দেখুন
“আরও দেখুন” সেকশন- Numbers আর decimal, number-এর নিয়ম আর cast।
- language guide-এর type system।