وحدة:LuaCall/شرح

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

أنشئت هذه الوحدة للسماح باستخدام وظيفة تقدمها لوا بدلا من كتابة وحدة كاملة لاستخدام هذه الوظيفة. وتعتبر هذه الوحدة طريقة ميسرة للمستخدمين بالذات المبتدئين منهم لاستخدام وظائف لوا بدلا من خوض غمار كتابة وحدة جديدة. توجد هذه الوظائف هنا يمكنك الاطلاع عليها.

من الممكن أن تواجه رسالة خطأ عند استخدام الوحدة والسبب يعود لاستخدامك الوظيفة بشكل خاطئ. على سبيل المثال عند استخدامك الوظيفة math.fmod(value) في الوحدة على هذا النحو {{#invoke:LuaCall|main|value=1.4512|math.fmod(value)}} ينتج أخطاء في البرنامج النصي (السكربت) ويعود السبب أنك نسيت ملئ القيمة الثانية عند إستخدامك هذه الوظيفة.

الاستخدام

{{#invoke:LuaCall|main|''arbitrary variables''|''parameters''|''function''}}

The arbitrary variables أو المتغيرات العشوائية هي كلمات مفتاحية من اختيارك = أي قيمة أنت تختارها. يتم تفسير القيم كسلاسل ما لم تكن وظيفة tonumber (قيمتها) ليست NaN أي ليست رقما. أنقر هنا للمزيد.

parameters أو المعايير جميعها تبدأ بـ reserved_، وهي متغيرات عشوائية يجب أن يتم استخدامها.

  • reserved_return يحدد المخرجات من الوظيفة التي تريدها، ويجعل قيمته الافتراضية تساوي 1. على سبيل المثال وضع قيمته 2 لـ mw.ustring.gsub سوف يجعل الرقم الذي أستبدل به القيمة الافتراضية 1 إلى 2 وبهذا تتم عملية الاستبدال.
  • reserved_debug - القيمة التي لا تكون صفرا سوف تجبر على عرض نص غير صحيح.

الوظيفة المكتوبة على النحو some.function.name(a,b,c) حيث ome.function.name تعني شيئا موجودا في Extension:Scribunto/Lua_reference_manual والقيم a,b,c هي أسماء القيم العشوائية التي اخترتها سابقا.

بعض الأمثلة

في هذا المثال تقوم الوظيفة string.rep بتكرار القيمة لعدد مختار. تحدد القيم للوظيفة عبر string.rep(a,b) حيث تكون قيمة المتغير ِa تساوي الكلمة تجربة ويكون المتغير b مسؤوول عن عدد التكرارات.

{{#invoke:LuaCall|main|a=تجربة |b=7|string.rep(a,b)}}

تجربة تجربة تجربة تجربة تجربة تجربة تجربة 


{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=1}}

I. c.a.n.'t. g.e.t. n.o. s.a.t.i.s.f.a.c.t.i.o.n.


{{#invoke:LuaCall|main|pattern=(%a)|replace=%1.|string=I can't get no satisfaction|mw.ustring.gsub(string,pattern,replace)|reserved_return=2}}

22


{{#invoke:LuaCall|main|value=1.4512|math.ceil(value)}}

2


{{#invoke:LuaCall|main|value=1.4512|math.modf(value)}}

1


{{#invoke:LuaCall|main|value=1.4512|math.modf(value)|reserved_return=2}}

0.4512