Type Helpers — قسم مددگار
The Urdu Programming Language provides three static helper objects — Object, Array, and String — plus a set of built-in error classes. All are available globally without any import.
اردو: اردو پروگرامنگ لینگویج تین جامد مددگار اشیاء —
Object،Array، اورString— اور بنا بنایا غلطی کلاسز کا ایک مجموعہ فراہم کرتی ہے۔ یہ سب کسی بھی درآمد کے بغیر عالمی طور پر دستیاب ہیں۔
Table of Contents
Object Helper — شے
شے (also Object) provides utility methods for working with dictionaries and object instances.
اردو:
شے(یاObject) لغتوں اور شے نمونوں کے ساتھ کام کرنے کے لیے مددگار طریقے فراہم کرتی ہے۔
Object.مفاتیح(obj) → list
Return a list of all keys of a dictionary. For non-dict objects, returns a list of public attribute names (excluding names that begin with _).
Equivalent to JavaScript's Object.keys() or Python's list(dict.keys()).
اردو: لغت کی تمام کلیدوں کی فہرست واپس کریں۔ غیر لغت اشیاء کے لیے عوامی صفت ناموں کی فہرست واپس کرتا ہے (
_سے شروع ہونے والے ناموں کے بغیر)۔
Examples
متغیر شخص = { نام: "احمد", عمر: 25, شہر: "کراچی" };
لکھو(Object.مفاتیح(شخص));
// ['نام', 'عمر', 'شہر']
Object.اقدار(obj) → list
Return a list of all values of a dictionary.
Equivalent to JavaScript's Object.values() or Python's list(dict.values()).
اردو: لغت کی تمام قدروں کی فہرست واپس کریں۔
Examples
متغیر نمبرات = { ریاضی: 90, اردو: 85, سائنس: 95 };
لکھو(Object.اقدار(نمبرات));
// [90, 85, 95]
لکھو(مجموع(Object.اقدار(نمبرات))); // 270
Object.اندراج(obj) → list
Return a list of [key, value] pairs (as tuples) from a dictionary.
Equivalent to JavaScript's Object.entries() or Python's list(dict.items()).
اردو: لغت سے
[کلید، قدر]جوڑوں (ٹپلز) کی فہرست واپس کریں۔
Examples
متغیر مضامین = { ریاضی: 90, اردو: 85, سائنس: 95 };
کے_لیے (متغیر [مضمون, نمبر] کا Object.اندراج(مضامین)) {
لکھو(مضمون, ":", نمبر);
}
// ریاضی : 90
// اردو : 85
// سائنس : 95
// جدول بنانا
متغیر کل = مجموع(نقشہ(جوڑا => جوڑا[1], Object.اندراج(مضامین)));
لکھو("کل نمبر:", کل); // 270
Object.تفویض(target, *sources) → dict
Merge one or more source dictionaries into target. Properties from later sources overwrite earlier ones. Mutates and returns target.
Equivalent to JavaScript's Object.assign() or Python's dict.update().
اردو: ایک یا زیادہ ذریعہ لغتوں کو
targetمیں ضم کریں۔ بعد کے ذرائع کی خاصیات پہلے والوں کو اوور رائٹ کرتی ہیں۔targetکو تبدیل کر کے واپس کرتا ہے۔
Examples
متغیر بنیاد = { رنگ: "نیلا", سائز: "بڑا" };
متغیر اضافہ = { وزن: 1.5, رنگ: "سبز" };
Object.تفویض(بنیاد, اضافہ);
لکھو(بنیاد);
// {'رنگ': 'سبز', 'سائز': 'بڑا', 'وزن': 1.5}
// ڈیفالٹ اقدار
متغیر ڈیفالٹ = { زبان: "اردو", تاریک_حالت: جھوٹ, فونٹ_سائز: 14 };
متغیر صارف = { فونٹ_سائز: 18 };
متغیر ترتیب = Object.تفویض({}, ڈیفالٹ, صارف);
لکھو(ترتیب.فونٹ_سائز); // 18
لکھو(ترتیب.زبان); // اردو
Object.منجمد(obj) → obj
Mark an object as frozen (read-only). Returns the same object.
Note: In the current runtime this is a no-op placeholder that returns the object unchanged (true immutability enforcement is not implemented). It is provided for API compatibility.
اردو: شے کو منجمد (صرف پڑھنے کے قابل) نشان زد کریں۔ وہی شے واپس کرتا ہے۔ نوٹ: موجودہ رن ٹائم میں یہ کوئی عمل نہیں کرتا (API ہم آہنگی کے لیے موجود ہے)۔
Examples
Object.بنا(**kwargs) → dict
Create a new _UrduObj dictionary from keyword arguments. The resulting object supports both obj.key and obj["key"] access.
اردو: کلیدی الفاظ کے دلائل سے نئی
_UrduObjلغت بنائیں۔ نتیجہobj.keyاورobj["key"]دونوں طریقوں سے رسائی کی حمایت کرتا ہے۔
Examples
Array Helper — صف
صف (also Array) provides utility methods for working with sequences.
اردو:
صف(یاArray) ترتیبوں کے ساتھ کام کرنے کے لیے مددگار طریقے فراہم کرتی ہے۔
Array.سے(iterable) → list
Convert any iterable (range, tuple, set, string, generator) to a list.
Equivalent to JavaScript's Array.from() or Python's list(iterable).
اردو: کسی بھی تکرار پذیر (حد، ٹپل، مجموعہ، سٹرنگ، جنریٹر) کو فہرست میں تبدیل کریں۔
Examples
لکھو(Array.سے(حد(5)));
// [0, 1, 2, 3, 4]
لکھو(Array.سے("اردو"));
// ['ا', 'ر', 'د', 'و']
لکھو(Array.سے(مجموعہ([1, 2, 2, 3, 3])));
// [1, 2, 3] (ترتیب مختلف ہو سکتی ہے)
// زپ کو فہرست میں بدلنا
متغیر الف = [1, 2, 3];
متغیر ب = [4, 5, 6];
لکھو(Array.سے(زپ(الف, ب)));
// [(1, 4), (2, 5), (3, 6)]
Array.ہے(x) → bool
Return True if x is a list or tuple, otherwise False.
Equivalent to JavaScript's Array.isArray().
اردو: اگر
xفہرست یا ٹپل ہو توTrueواپس کریں، ورنہFalse۔
Examples
لکھو(Array.ہے([1, 2, 3])); // True
لکھو(Array.ہے((1, 2, 3))); // True
لکھو(Array.ہے("اردو")); // False
لکھو(Array.ہے({ ک: "قدر" })); // False
لکھو(Array.ہے(42)); // False
// دفاعی پروگرامنگ
فنکشن جمع_کرو(ڈیٹا) {
اگر (!Array.ہے(ڈیٹا)) {
پھینکو نیا قسم_غلطی("فہرست درکار ہے");
}
واپس مجموع(ڈیٹا);
}
String Helper — ڈور
ڈور (also String) provides character-level utilities for strings.
اردو:
ڈور(یاString) سٹرنگز کے لیے حرف سطح کی مددگار سہولتیں فراہم کرتی ہے۔
String.سے(x) → str
Convert any value to its string representation. Equivalent to Python's str(x).
اردو: کسی بھی قدر کو اس کی سٹرنگ نمائندگی میں تبدیل کریں۔
Examples
لکھو(String.سے(42)); // "42"
لکھو(String.سے(3.14)); // "3.14"
لکھو(String.سے([1,2,3])); // "[1, 2, 3]"
لکھو(String.سے(سچ)); // "True"
String.کوڈ(s, i=0) → int
Return the Unicode code point (integer) of the character at index i in string s. Equivalent to Python's ord(s[i]).
اردو: سٹرنگ
sمیں انڈیکسiپر حرف کا یونیکوڈ کوڈ پوائنٹ (عدد صحیح) واپس کریں۔
Examples
لکھو(String.کوڈ("A")); // 65
لکھو(String.کوڈ("ا")); // 1575 (Unicode U+0627)
لکھو(String.کوڈ("اردو", 1)); // 1585 (ر at index 1)
لکھو(String.کوڈ("0")); // 48
String.حرف(code) → str
Return the single character whose Unicode code point is code. Equivalent to Python's chr(code).
اردو: وہ واحد حرف واپس کریں جس کا یونیکوڈ کوڈ پوائنٹ
codeہو۔
Examples
// ASCII جدول
کے_لیے (متغیر i کا حد(65, 91)) {
لکھو(i, "=", String.حرف(i));
}
// 65 = A 66 = B ... 90 = Z
Error Types — غلطی کی اقسام
All error classes extend the base غلطی class, which in turn extends Python's Exception. Every error instance has a .پیغام (and .message) attribute containing the error description.
Errors are raised with پھینکو and caught with پکڑو.
اردو: تمام غلطی کلاسز بنیادی
غلطیکلاس سے وراثت لیتی ہیں، جو Python کیExceptionکو وراثت میں لیتی ہے۔ ہر غلطی نمونے میں.پیغام(اور.message) صفت ہوتی ہے۔ غلطیاںپھینکوسے اٹھائی جاتی ہیں اورپکڑوسے پکڑی جاتی ہیں۔
غلطی / Error
The base error class. Use for general-purpose errors when no more specific type applies.
اردو: بنیادی غلطی کلاس۔ عام مقصد کی غلطیوں کے لیے استعمال کریں جب کوئی زیادہ مخصوص قسم موزوں نہ ہو۔
قسم_غلطی / TypeError
Raised when a value is of the wrong type for an operation (e.g., calling a non-function, adding incompatible types).
اردو: جب کسی آپریشن کے لیے غلط قسم کی قدر ہو تو اٹھائی جاتی ہے (مثلاً غیر فنکشن کو کہنا، غیر موافق اقسام جوڑنا)۔
فنکشن ضرب(ا, ب) {
اگر (قسم(ا) != "عدد" || قسم(ب) != "عدد") {
پھینکو نیا قسم_غلطی("صرف اعداد قبول ہیں");
}
واپس ا * ب;
}
کوشش {
ضرب("پانچ", 3);
} پکڑو (غ) {
لکھو("قسم_غلطی:", غ.پیغام);
}
حد_غلطی / IndexError / RangeError
Raised when an index is out of bounds for a sequence.
اردو: جب انڈیکس کسی ترتیب کی حد سے باہر ہو تو اٹھائی جاتی ہے۔
حوالہ_غلطی / NameError / ReferenceError
Raised when a name (variable or function) is used before it is defined, or does not exist in the current scope.
اردو: جب کسی نام (متغیر یا فنکشن) کو تعریف سے پہلے استعمال کیا جائے، یا وہ موجودہ گنجائش میں موجود نہ ہو۔
نحو_غلطی / SyntaxError
Raised when code cannot be parsed due to a syntax error. Usually generated by the transpiler pipeline rather than user code.
اردو: جب نحو کی غلطی کی وجہ سے کوڈ پارس نہ ہو سکے۔ عام طور پر ٹرانسپائلر پائپ لائن سے پیدا ہوتی ہے نہ کہ صارف کے کوڈ سے۔
رینج_غلطی / ValueError / RangeError
Raised when a value is of the correct type but falls outside an acceptable range (e.g., a negative number where only positives are accepted, or a string that cannot be parsed as a number).
اردو: جب قدر درست قسم کی ہو لیکن قابل قبول حد سے باہر ہو (مثلاً جہاں صرف مثبت قبول ہو وہاں منفی عدد، یا ایسی سٹرنگ جو عدد کے طور پر پارس نہ ہو سکے)۔
فنکشن جذر(x) {
اگر (x < 0) {
پھینکو نیا رینج_غلطی("منفی عدد کا جذر نہیں نکلتا");
}
واپس ریاضی.جذر(x);
}
کوشش {
جذر(-4);
} پکڑو (غ) {
لکھو("رینج_غلطی:", غ.پیغام);
}
نیٹ_غلطی / ConnectionError / NetworkError
Raised for network and connectivity failures (e.g., HTTP request timeout, connection refused).
اردو: نیٹ ورک اور رابطے کی ناکامیوں کے لیے اٹھائی جاتی ہے (مثلاً HTTP درخواست ٹائم آؤٹ، رابطہ مسترد)۔
کوشش {
// نیٹ ورک درخواست
متغیر نتیجہ = http_درخواست("https://example.com");
} پکڑو (غ) {
اگر (نمونہ(نیٹ_غلطی, غ)) {
لکھو("نیٹ ورک خطا:", غ.پیغام);
} ورنہ {
پھینکو غ;
}
}
فائل_غلطی / FileNotFoundError
Raised when a file or directory operation fails because the path does not exist.
اردو: جب فائل یا ڈائریکٹری کا آپریشن ناکام ہو کیونکہ راستہ موجود نہ ہو۔
کوشش {
// فائل کھولنا
متغیر مواد = فائل_پڑھو("غیر_موجود.txt");
} پکڑو (غ) {
اگر (نمونہ(فائل_غلطی, غ)) {
لکھو("فائل نہیں ملی:", غ.پیغام);
} ورنہ {
پھینکو غ;
}
}
Error Class Hierarchy — غلطی کلاس درجہ بندی
اردو: غلطی کلاسز کی درجہ بندی:
Exception (Python)
└── غلطی (base Urdu error)
├── قسم_غلطی (TypeError)
├── حد_غلطی (IndexError)
├── حوالہ_غلطی (NameError)
├── نحو_غلطی (SyntaxError)
├── رینج_غلطی (ValueError)
├── نیٹ_غلطی (ConnectionError)
└── فائل_غلطی (FileNotFoundError)
All error classes can be used with نمونہ() for type-based catching:
اردو: تمام غلطی کلاسز قسم پر مبنی پکڑنے کے لیے
نمونہ()کے ساتھ استعمال کی جا سکتی ہیں:
کوشش {
// ... کوئی بھی کوڈ ...
} پکڑو (غ) {
اگر (نمونہ(فائل_غلطی, غ)) {
لکھو("فائل خطا");
} ورنہ_اگر (نمونہ(نیٹ_غلطی, غ)) {
لکھو("نیٹ ورک خطا");
} ورنہ_اگر (نمونہ(قسم_غلطی, غ)) {
لکھو("قسم کی غلطی");
} ورنہ {
لکھو("نامعلوم غلطی:", غ.پیغام);
}
}
Error Attributes — غلطی کی صفات
Every error instance exposes these attributes:
اردو: ہر غلطی نمونہ یہ صفات ظاہر کرتا ہے:
| Attribute | Type | Description |
|---|---|---|
.پیغام |
str | The error message (Urdu alias) |
.message |
str | The error message (English alias) |
اردو پروگرامنگ لینگویج — Type Helpers Reference — Mohammed Zahid Wadiwale