القيم القابلة للاستدعاء المعلنة النوع
لبات 0.7.0 · الإصدار الحالي
مرر قيمة قابلة للاستدعاء عبر قائمة ونتيجة وسجل ثم اطبع 42 وأعد 0.
محتويات الصفحة
الغرض والتجهيز
المتصفح والتنفيذ الأصلي، لبات 0.7.0. يستخدم الدوال المعلنة النوع والقوائم والسجلات والنتائج. لا يحتاج أسطر إدخال أو ملفات بيانات أو وحدات مصدر. يمرر قيمة قابلة للاستدعاء عبر كل حاوية ويقارن هويتها ويطبع 42 ثم LF ويعيد 0.
المصدر العربي
افتح مسودة جديدة ثم اختر التشغيل صراحة. يفحص الفتح المصدر دون تنفيذه.
التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0
المتطلبات السابقة:
- يتطلب فهم الدوال والقوائم والسجلات والنتائج. لا يحتاج ملفات بيانات.
الإدخال: لا يحتاج إلى أسطر إدخال.
دالة زيادة(قيمة: ص64) -> ص64 { أرجع قيمة + 4. }
دالة اختر() -> دالة(ص64) -> ص64 { أرجع زيادة. }
سجل حامل { استدعاء: دالة(ص64) -> ص64 }
دالة طبق(عمل: دالة(ص64) -> ص64, قيمة: ص64) -> ص64 { أرجع عمل(قيمة). }
دالة ابدأ_الرئيسية() -> ص64 {
دع محفوظ: قائمة<دالة(ص64) -> ص64> = [اختر()].
دع مغلف: نتيجة<دالة(ص64) -> ص64> = نجاح(محفوظ[0]).
دع عنصر = حامل { استدعاء: مغلف::قيمة }.
إذا عنصر::استدعاء لا يطابق زيادة { أرجع 1. }
اطبع(نسق_ص64(طبق(عنصر::استدعاء, 38)) + "\س").
أرجع 0.
}
النتائج المتوقعة
{
"browser": {
"check": "success",
"class": "success",
"output": "42\n",
"processStatus": 0
},
"native": {
"check": 0,
"status": 0,
"output": "42\n"
}
}المصدر الإنجليزي
افتح مسودة جديدة ثم اختر التشغيل صراحة. يفحص الفتح المصدر دون تنفيذه.
التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0
المتطلبات السابقة:
- يتطلب فهم الدوال والقوائم والسجلات والنتائج. لا يحتاج ملفات بيانات.
الإدخال: لا يحتاج إلى أسطر إدخال.
fn increment(value: i64) -> i64 { return value + 4; }
fn choose() -> fn(i64) -> i64 { return increment; }
record Carrier { callback: fn(i64) -> i64 }
fn apply(action: fn(i64) -> i64, value: i64) -> i64 { return action(value); }
fn start_main() -> i64 {
let saved: list<fn(i64) -> i64> = [choose()];
let wrapped: result<fn(i64) -> i64> = success(saved[0]);
let carrier = Carrier { callback: wrapped::value };
if carrier::callback not matches increment { return 1; }
print(format_i64(apply(carrier::callback, 38)) + "\n");
return 0;
}
النتائج المتوقعة
{
"browser": {
"check": "success",
"class": "success",
"output": "42\n",
"processStatus": 0
},
"native": {
"check": 0,
"status": 0,
"output": "42\n"
}
}تحقق من النتيجة
تعرض بطاقات المصدر نتائج الكتالوج الدقيقة. تحتفظ التنزيلات بالبايتات والبصمات ومفردات المصدر المورّدة.