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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة ()declare في Sass }}</noinclude> تُصرّح بإمضاء (signature) خاص بلغة Sass لأجل دوال Ruby. يتض...'
 
لا ملخص تعديل
سطر 13: سطر 13:
== المُعامِلات ==
== المُعامِلات ==


=== method_name (Symbol)‎ ===
=== <code>method_name</code>  ===
اسم الدالة التي يُصرَّح بإمضاءها.
اسم الدالة التي يُصرَّح بإمضاءها.


=== args (Array<Symbol>)‎ ===
=== args ===
أسماء الوسائط الموجودة في إمضاء الدالة.
مصفوفة تضم أسماء الوسائط الموجودة في إمضاء الدالة.


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


== قاموس الخيارات ( options) ==
== قاموس الخيارات (options) ==
<nowiki>:</nowiki>var_args (<code>Boolean</code>)‎
<code>‎<nowiki>:</nowiki>var_args</code>


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


<nowiki>:</nowiki>var_kwargs (<code>Boolean</code>)‎
<code>:‎var_kwargs‎</code>


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


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

مراجعة 18:12، 17 أبريل 2018

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

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

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

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

declare(method_name, args, options = {})

المُعامِلات

method_name

اسم الدالة التي يُصرَّح بإمضاءها.

args

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

option

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

قاموس الخيارات (options)

‎:var_args

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

‎:‎var_kwargs‎

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

أمثلة

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

مصادر