الفرق بين المراجعتين لصفحة: «Sass/declare»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة الصفحة وتدقيقها.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>()declare</code> في Sass}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>()declare</code> في Sass}}</noinclude>
تُصرّح بإمضاء (signature) خاص بلغة [[Sass]] لأجل دوال Ruby. يتضمن الإمضاءُ أسماءَ الوسائط، وهل ستأخذ الدالة عددًا متغيرًا من الوسائط، وما إن كانت الدالة ستقبل مجموعة عشوائيةً من الوسائط المُسمّاة (keyword arguments).
تُصرّح بتوقيع (signature) خاص بلغة [[Sass]] لأجل دوال روبي. يتضمن التوقيع أسماءَ الوسائط، وهل ستأخذ الدالة عددًا متغيرًا من الوسائط، وما إن كانت الدالة ستقبل مجموعة عشوائيةً من [[Sass/SassScript#.D8.A7.D9.84.D9.88.D8.B3.D8.A7.D8.A6.D8.B7 .D8.A7.D9.84.D9.85.D8.B3.D9.85.D9.91.D8.A7.D8.A9 .28Keyword Arguments.29|الوسائط المُسمّاة]] (keyword arguments).


التصريح بالإمضاء ليس ضروريًا. ولكن بدونه لن تدعم الدالةُ الوسائط المُسمّاة.
التصريح بالتوقيع ليس ضروريًا ولكن لن تدعم الدالةُ بدونه الوسائط المُسمّاة.


يمكن أن يكون لدالةٍ واحدةٍ أكثر من إمضاء واحدٍ طالما أنّ كل إمضاءٍ يأخذ عددًا مختلفًا من الوسائط. ومن الممكن أيضًا أن تُصرّح بعدة إمضاءات بحيث تقبل جميعُها نفس العدد من الوسائط، ولكن في تلك الحالة لن يُستخدم إلا الإمضاء الأول، إلّا إذا استعمل المُستخدم الوسائط المُسمّاة.
يمكن أن يكون لدالةٍ واحدةٍ أكثر من توقيع واحدٍ طالما أنّ كلَّ توقيع يأخذ عددًا مختلفًا من الوسائط. من الممكن أيضًا التصريح بعدة تواقيع تقبل جميعُها نفس العدد من الوسائط، ولكن لن يُستخدم في تلك الحالة سوى التوقيع الأول إلّا إذا استعمل المُستخدم الوسائط المُسمّاة.


== البنية العامة ==
== البنية العامة ==
سطر 14: سطر 14:


=== <code>method_name</code>  ===
=== <code>method_name</code>  ===
اسم الدالة التي يُصرَّح بإمضاءها.
اسم الدالة التي سيُصرَّح بتوقيعها.


=== <code>args</code>  ===
=== <code>args</code>  ===
مصفوفة تضم أسماء الوسائط الموجودة في إمضاء الدالة.
مصفوفة تضم أسماء الوسائط الموجودة في توقيع الدالة.


=== <code>option</code> ===
=== <code>option</code> ===
قيمتها الافتراضية هي <code>{}</code>، وهي قاموس يتضمن مجموعة من الخيارات القابلة للتخصيص
مجموعة من الخيارات القابلة للتخصيص، وقيمته الافتراضية هي <code>{}</code>.


== الخيارات (options) ==
== الخيارات (options) ==


=== <code>‎<nowiki>:</nowiki>var_args</code> ===
=== <code>‎<nowiki>:</nowiki>var_args</code> ===
من النوع <code>Boolean</code>، قيمتها الافتراضية: <code>false</code>، تُحدّد ما إذا كانت الدالة ستقبل عددًا متغيرًا من الوسائط (غير المسماة) إضافةً إلى الوسائط المسماة.
هذا الخيار هو قيمة منطقية (Boolean) يحدّد ما إذا كانت الدالة ستقبل عددًا متغيرًا من الوسائط (غير المسماة) إضافةً إلى الوسائط المسماة. قيمته الافتراضية هي <code>false</code>.


=== <code>‎:‎var_kwargs‎</code> ===
=== <code>‎:‎var_kwargs‎</code> ===
من النوع <code>Boolean</code>، قيمتها الافتراضية: <code>false</code>، تُحدّد ما إذا كانت الدالة ستقبل وسائط مُسمّاةٍ أخرى إضافةً إلى تلك الموجودة في ‏‏<code>‎: args</code>. إذا كانت قيمتها <code>true</code>، فسيُمرّر لدالة Ruby قاموسٌ يربط بين سلاسل نصّية و قيم كوسيطٍ أخيرٍ. أمّا إن كانت قيمتها <code>true</code> وقيمةُ  ‎<code>:var_args</code> تساوي <code>false</code>، فستحرص [[Sass]] على أن يكون الوسيط الأخير قاموسًا.
هذا الخيار هو قيمة منطقية يحدّد ما إذا كانت الدالة ستقبل وسائط مُسمّاةٍ أخرى إضافةً إلى تلك الموجودة في ‏‏<code>‎:args</code>. إذا كانت قيمته <code>true</code>، فسيُمرّر لدالة روبي قاموسًا يربط بين سلاسل نصّية وقيم كوسيطٍ أخيرٍ. أمّا إن كانت قيمته <code>true</code> وقيمةُ الخيار ‎<code>:var_args</code> تساوي <code>false</code>، فستحرص [[Sass]] على أن يكون الوسيط الأخير قاموسًا. قيمته الافتراضية هي <code>false</code>.


== أمثلة ==
== أمثلة ==

مراجعة 16:56، 1 مايو 2018

تُصرّح بتوقيع (signature) خاص بلغة Sass لأجل دوال روبي. يتضمن التوقيع أسماءَ الوسائط، وهل ستأخذ الدالة عددًا متغيرًا من الوسائط، وما إن كانت الدالة ستقبل مجموعة عشوائيةً من الوسائط المُسمّاة (keyword arguments).

التصريح بالتوقيع ليس ضروريًا ولكن لن تدعم الدالةُ بدونه الوسائط المُسمّاة.

يمكن أن يكون لدالةٍ واحدةٍ أكثر من توقيع واحدٍ طالما أنّ كلَّ توقيع يأخذ عددًا مختلفًا من الوسائط. من الممكن أيضًا التصريح بعدة تواقيع تقبل جميعُها نفس العدد من الوسائط، ولكن لن يُستخدم في تلك الحالة سوى التوقيع الأول إلّا إذا استعمل المُستخدم الوسائط المُسمّاة.

البنية العامة

declare(method_name, args, options = {})

المعاملات

method_name

اسم الدالة التي سيُصرَّح بتوقيعها.

args

مصفوفة تضم أسماء الوسائط الموجودة في توقيع الدالة.

option

مجموعة من الخيارات القابلة للتخصيص، وقيمته الافتراضية هي {}.

الخيارات (options)

‎:var_args

هذا الخيار هو قيمة منطقية (Boolean) يحدّد ما إذا كانت الدالة ستقبل عددًا متغيرًا من الوسائط (غير المسماة) إضافةً إلى الوسائط المسماة. قيمته الافتراضية هي false.

‎:‎var_kwargs‎

هذا الخيار هو قيمة منطقية يحدّد ما إذا كانت الدالة ستقبل وسائط مُسمّاةٍ أخرى إضافةً إلى تلك الموجودة في ‏‏‎:args. إذا كانت قيمته true، فسيُمرّر لدالة روبي قاموسًا يربط بين سلاسل نصّية وقيم كوسيطٍ أخيرٍ. أمّا إن كانت قيمته true وقيمةُ الخيار ‎:var_args تساوي false، فستحرص Sass على أن يكون الوسيط الأخير قاموسًا. قيمته الافتراضية هي false.

أمثلة

declare :rgba, [:hex, :alpha]
declare :rgba, [:red, :green, :blue, :alpha]
declare :accepts_anything, [], :var_args => true, :var_kwargs => true
declare :some_func, [:foo, :bar, :baz], :var_kwargs => true

مصادر