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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة ()declare في Sass }}</noinclude> تُصرّح بإمضاء (signature) خاص بلغة Sass لأجل دوال Ruby. يتض...'
 
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
 
(12 مراجعة متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة ()declare في 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).


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


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


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight>
<syntaxhighlight lang="sass">
declare(method_name, args, options = {})
.declare(method_name, args, options = {})
</syntaxhighlight>
</syntaxhighlight>


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


=== args (Array<Symbol>)‎ ===
=== <code>method_name</code>  ===
أسماء الوسائط الموجودة في إمضاء الدالة.
اسم الدالة التي سيُصرَّح بتوقيعها.


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


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


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


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


قيمتها الافتراضية: <code>false</code>، تُحدّد ما إذا كانت الدالة ستقبل وسائط مُسمّاةٍ أخرى إضافةً إلى تلك الموجودة في ‏‏<code>‎: args</code>. إذا كانت قيمتها <code>true</code>، فسيُمرّر لدالة Ruby قاموسٌ يربط بين سلاسل نصّية و قيم كوسيطٍ أخيرٍ. أمّا إن كانت قيمتها <code>true</code> وقيمةُ  ‎<code>:var_args</code> تساوي <code>false</code>، فستحرص [[Sass]] على أن يكون الوسيط الأخير قاموسًا.
=== <code>‎:‎var_kwargs‎</code> ===
هذا الخيار هو قيمة منطقية يحدّد ما إذا كانت الدالة ستقبل وسائط مُسمّاةٍ أخرى إضافةً إلى تلك الموجودة في ‏‏<code>‎:args</code>. إذا كانت قيمته <code>true</code>، فسيُمرّر لدالة روبي [[Sass/SassScript#.D8.A7.D9.84.D8.AE.D8.B1.D8.A7.D8.A6.D8.B7 .28Maps.29|خريطة]] تربط بين سلاسل نصّية وقيم كوسيطٍ أخيرٍ. أمّا إن كانت قيمته <code>true</code> وقيمةُ الخيار ‎<code>:var_args</code> تساوي <code>false</code>، فستحرص [[Sass]] على أن يكون الوسيط الأخير [[Sass/SassScript#.D8.A7.D9.84.D8.AE.D8.B1.D8.A7.D8.A6.D8.B7 .28Maps.29|خريطة]]. قيمته الافتراضية هي <code>false</code>.


== أمثلة ==
== أمثلة ==
سطر 41: سطر 40:


== مصادر ==
== مصادر ==
* [https://sass-lang.com/documentation/Sass/Script/Functions.html#declare-class_method قسم الدالة declare في صفحة الدوال في توثيق Sass الرسمي.]
* [https://sass-lang.com/documentation/Sass/Script/Functions.html#declare-class_method قسم الدالة declare في صفحة الدوال في توثيق Sass الرسمي].
[[تصنيف:Sass]]
[[تصنيف:Sass|{{SUBPAGENAME}}]]
[[تصنيف: Sass Function]]
[[تصنيف: Sass Function|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 07:00، 20 مايو 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

مصادر