অঙ্কশাস্ত্র

fn interproduct(a: i32, b: i32, c: i32) -> i32 {
    return a * b + b * c + c * a;
}

fn main() {
    println!("result: {}", interproduct(120, 100, 248));
}
This slide should take about 3 minutes.

এই প্রথম আমরা বাদে অন্য কোনো ফাংশন দেখছি, কিন্তু এই ফাংশনের অর্থটি পরিষ্কার হওয়া উচিত: এটি তিনটি পূর্ণসংখ্যা বা ইন্টিজার নেয় এবং একটি ইন্টিজার প্রদান করে। ফাংশন পরে আরো বিস্তারিত চর্চা করা হবে।

একই অগ্রাধিকার রেখে এখানে পাটিগণিতের অন্যান্য ভাষার সাথে খুব মিল।

ইন্টিজার ওভারফ্লো হলে? সি বা সি++ -এ চিহ্নিত ইন্টিজার ওভারফ্লো হলে তার ম্যান অনির্ধারিত হয়ে এবং বিভিন্ন প্ল্যাটফর্ম বা কম্পাইলারে বিভিন্ন জিনিস করতে পার। রাস্ট এ তা নির্ধারিত ম্যান নিয়ে থাকে।

ইন্টিজার ওভারফ্লো সরাসরি দেখবার জন্যে কে এ পরিবর্তন করে দেখুন। ডিবাগ অবস্থায় নির্মিত হলে এটি আতংকিত (প্যানিক) হয়ে পরে এবং মুক্তিগামী নির্মাণ হলে সেটি মুড়িয়ে দেওয়া হয়ে নিজে নিজেই। অন্যান্য বিকল্পও আছে যেমন ওভারফ্লো (ম্যান উপচে পড়া), স্যাচুরেটিং (বা পরিপৃক্ত করা) এবং ক্যারিং (বা বহন করা)। এগুলি অভিগমন করবার জন্যে এরখম কোনো মেথড সিনটেক্স ব্যবহার করতে হবে (a * b).saturating_add(b * c).saturating_add(c * a)

প্রকৃতপক্ষে, কম্পাইলার ধ্রুবক অভিব্যক্তির ওভারফ্লো সনাক্ত করবে, যার কারণে উদাহরণটির জন্য একটি আলাদা ফাংশন প্রয়োজন।