devnagari 0.1.0

Code in Devanagari (Hindi/Sanskrit) — type aliases, macros, and keyword translation for Rust
Documentation
use devnagari::prelude::*;

// ── Struct defined with देव! ──────────────────────────────────────────────────
देव! {
    संरचना विद्यार्थी {
        नाम: पाठ,
        अंक: पूर्णांक,
    }
}

// ── impl block ────────────────────────────────────────────────────────────────
देव! {
    क्रियान्वयन विद्यार्थी {
        कार्य नया(नाम: पाठ, अंक: पूर्णांक) -> स्वप्रकार {
            स्वप्रकार { नाम, अंक }
        }

        कार्य श्रेणी(&स्व) -> &str {
            यदि स्व.अंक >= 90 {
                "A"
            } अन्यथा यदि स्व.अंक >= 75 {
                "B"
            } अन्यथा यदि स्व.अंक >= 50 {
                "C"
            } अन्यथा {
                "F"
            }
        }
    }
}

// ── Enum ──────────────────────────────────────────────────────────────────────
देव! {
    गणना दिन {
        सोमवार,
        मंगलवार,
        बुधवार,
        गुरुवार,
        शुक्रवार,
        शनिवार,
        रविवार,
    }
}

देव! {
    कार्य दिन_प्रकार(: दिन) -> &'static str {
        मिलान द {
            दि::शनिवार | दि::रविवार => "सप्ताहांत",
            _ => "कार्यदिवस",
        }
    }
}

// ── Function with loop ────────────────────────────────────────────────────────
देव! {
    कार्य योगफल(सूची: &[पूर्णांक]) -> पूर्णांक {
        मान परिवर्तनीय कुल: पूर्णांक = 0;
        प्रत्येक &संख्या में सूची {
            कुल += संख्या;
        }
        कुल
    }
}

// ── Function with while + break ───────────────────────────────────────────────
देव! {
    कार्य फिबोनाची(: आकार) -> सूची<दीर्घपूर्णांक> {
        मान परिवर्तनीय क्रम: सूची<दीर्घपूर्णांक> = सूची_बनाओ![0, 1];
        मान परिवर्तनीय i: आकार = 2;
        जबतक i <{
            मान अगला = क्रम[i - 1] + क्रम[i - 2];
            क्रम.push(अगला);
            i += 1;
        }
        क्रम
    }
}

// ── main ──────────────────────────────────────────────────────────────────────
fn main() {
    // --- विद्यार्थी ---
    let छात्र = विद्यार्थी::नया("अर्जुन".to_string(), 88);
    छापो!("छात्र: {}, अंक: {}, श्रेणी: {}", छात्र.नाम, छात्र.अंक, छात्र.श्रेणी());

    // --- दिन ---
    let आज = दि::शुक्रवार;
    छापो!("आज: {}", दिन_प्रकार(आज));

    // --- योगफल ---
    let संख्याएँ: Vec<i32> = vec![1, 2, 3, 4, 5];
    छापो!("योगफल: {}", योगफल(&संख्याएँ));

    // --- फिबोनाची ---
    let फिब = फिबोनाची(10);
    छापो!("फिबोनाची (10): {:?}", फिब);

    // --- extension traits ---
    let वाक्य = "नमस्ते विश्व";
    छापो!("लम्बाई: {} बाइट, {} अक्षर", वाक्य.लम्बाई(), वाक्य.अक्षर_संख्या());
    छापो!("बड़े अक्षर: {}", वाक्य.बड़ेअक्षर());

    // --- Option ---
    let मान: Option<र्णांक> = कुछ(42);
    छापो!("विकल्प: {}", मान.या(0));

    // --- Result ---
    let फल: Result<र्णांक, &str> = ठीक(100);
    छापो!("फल ठीक है: {}", फल.ठीक_है());
}