الفرق بين المراجعتين ل"Arduino/const"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'الكلمة <code>const</code> المفتاحية هي اختصار للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌست...')
 
(إضافة محتويات الصفحة.)
سطر 1: سطر 1:
الكلمة <code>const</code> المفتاحية هي اختصار للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌستعمَل معها، إذ تعدِّل سلوك المتغير لتجعله في وضع «القراءة فقط» (read-only). هذا يعني أنَّه يمكن استعمال المتغير بشكل ممثال للمتغيرات التي من نفس نوعه باستثناء عدم القدرة على تغيير القيمة التي أُسندَت إليه عند إنشائه. ستواجه خطأً من المُصرِّف إن حاولت إسناد قيمةٍ لمتغيرٍ استُعملَت الكلمة المفتاحية <code>const</code> معه.
+
<noinclude>{{DISPLAYTITLE:الكلمة <code>const</code> المفتاحية في  أردوينو}}</noinclude>
 +
الكلمة <code>const</code> المفتاحية هي اختصارٌ للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌستعمَل معها، إذ تعدِّل سلوك المتغير لتجعله في وضع «القراءة فقط» (read-only). هذا يعني أنَّه يمكن استعمال المتغير بشكل ممثال للمتغيرات التي من نفس نوعه باستثناء عدم القدرة على تغيير القيمة التي أُسندَت إليه عند إنشائه. ستواجه خطأً من المُصرِّف إن حاولت إسناد قيمةٍ لمتغيرٍ استُعملَت الكلمة المفتاحية <code>const</code> معه.
  
تمتثل الثوابت المعرَّفة باستعمال الكلمة المفتاحية <code>const</code> لقواعد [[Arduino/scope|مجال المتغير]] (variable scoping) التي تضبط بقية المتغيرات. مع أخذ مخاطر استعمال استعمال <code>[[Arduino/define|define#]]</code> بالحسبان، إنَّ ذلك يجعل من الكلمة المفتاحية <code>const</code> الطريقة الأمثل لتعريف الثوابت، ويفضل استعمالها بدلًا من <code>[[Arduino/define|define#]]</code>.
+
تمتثل الثوابت المعرَّفة باستعمال الكلمة المفتاحية <code>const</code> لقواعد [[Arduino/scope|مجال المتغير]] (variable scoping) التي تضبط بقية المتغيرات. مع أخذ مخاطر استعمال <code>[[Arduino/define|define#]]</code> بالحسبان، إنَّ ذلك يجعل من الكلمة المفتاحية <code>const</code> الطريقة الأمثل لتعريف الثوابت، ويفضل استعمالها بدلًا من <code>[[Arduino/define|define#]]</code>.
 
+
==البنية العامة==
== البنية العامة ==
 
 
<syntaxhighlight lang="arduino">
 
<syntaxhighlight lang="arduino">
 
const dataType var = val;
 
const dataType var = val;
</syntaxhighlight>يمثِّل <code>dataType</code> نوع المتغير المراد تعريفه، و <code>var</code> اسم المتغير، و <code>val</code> القيمة المراد إسنادها إلى هذا المتغير الثابت. انتبه إلى أنَّه متى ما أسندت القيمة <code>val</code> إلى المتغير، لن يعد بالإمكان تغييرها وسيصبح المتغير للقراءة فقط.
+
</syntaxhighlight>يمثِّل <code>dataType</code> نوع المتغير المراد تعريفه، و <code>var</code> اسم المتغير، و <code>val</code> القيمة المراد إسنادها إلى هذا المتغير الثابت. انتبه إلى أنَّه متى ما أسندَت القيمة <code>val</code> إلى المتغير، لن يعد بالإمكان تغييرها، وسيُستعمَل المتغير للقراءة فقط.
 
+
==أمثلة==
== أمثلة ==
 
 
استعمال الكلمة <code>const</code> لتعريف الثابت π المستعمل في العمليات الرياضية:<syntaxhighlight lang="arduino">
 
استعمال الكلمة <code>const</code> لتعريف الثابت π المستعمل في العمليات الرياضية:<syntaxhighlight lang="arduino">
 
const float pi = 3.14;
 
const float pi = 3.14;
سطر 20: سطر 19:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
==ملاحظات وتحذيرات==
== ملاحظات وتحذيرات ==
+
===التعبير <code>[[Arduino/define|define#]]</code> أم الكلمة المفتاحية <code>const</code>؟===
 
 
=== التعبير <code>[[Arduino/define|define#]]</code> أم الكلمة المفتاحية <code>const</code>؟ ===
 
 
يمكنك استعمال إمَّا الكلمة <code>const</code> المفتاحية أو التعبير <code>[[Arduino/define|define#]]</code> لإنشاء ثوابت عددية أو نصية. أمَّا مع المصفوفات، فأنت بحاجة إلى استعمال <code>const</code> معها فقط. عمومًا، استعمال الكلمة <code>const</code> المفتاحية مفضَّلٌ على استعمال التعبير [[Arduino/define|<code>define#</code>]].
 
يمكنك استعمال إمَّا الكلمة <code>const</code> المفتاحية أو التعبير <code>[[Arduino/define|define#]]</code> لإنشاء ثوابت عددية أو نصية. أمَّا مع المصفوفات، فأنت بحاجة إلى استعمال <code>const</code> معها فقط. عمومًا، استعمال الكلمة <code>const</code> المفتاحية مفضَّلٌ على استعمال التعبير [[Arduino/define|<code>define#</code>]].
 +
==انظر أيضًا==
 +
* الكلمة المفتاحية <code>[[Arduino/static|static]]</code>: تُستعمَل عند إنشاء متغيرات مرئيَّة لدالةٍ واحدة فقط من أجل الحفاظ على محتواها بعد انتهاء تنفيذ تلك الدالة المستدعاة وحتى الاستدعاء التالي لها خلافًا للمتغيرات المحلية التي تُنشَأ وتدمَّر في كل مرة تُستدعَى فيها الدالة.
 +
* الكلمة المفتاحية <code>[[Arduino/volatile|volatile]]</code>: تُستعمَل عادةً قبل نوع المتغير عند تعريفه لتوجيه المصرِّف إلى تحميل المتغير من الذاكرة RAM وليس من سجلات التخزين للذاكرة المؤقتة (الذاكرة flash) حيث تُخزَّن جميع متغيرات البرنامج.
 +
* [[Arduino/scope|مجال المتغيرات]] في أردوينو.
  
== انظر أيضًا ==
+
==مصادر==
 
+
*[https://www.arduino.cc/reference/en/language/variables/variable-scope--qualifiers/const/ صفحة const في توثيق أردوينو الرسمي.]
== مصادر ==
+
[[تصنيف: Arduino]]
* [https://www.arduino.cc/reference/en/language/variables/variable-scope--qualifiers/const/ صفحة const في توثيق أردوينو الرسمي.]
+
[[تصنيف: Arduino Variable Scope & Qualifiers]]

مراجعة 14:42، 27 أكتوبر 2018

الكلمة const المفتاحية هي اختصارٌ للكلمة «ثابت» (constant)، وهي مقيِّدةٌ للمتغيرات التي تٌستعمَل معها، إذ تعدِّل سلوك المتغير لتجعله في وضع «القراءة فقط» (read-only). هذا يعني أنَّه يمكن استعمال المتغير بشكل ممثال للمتغيرات التي من نفس نوعه باستثناء عدم القدرة على تغيير القيمة التي أُسندَت إليه عند إنشائه. ستواجه خطأً من المُصرِّف إن حاولت إسناد قيمةٍ لمتغيرٍ استُعملَت الكلمة المفتاحية const معه.

تمتثل الثوابت المعرَّفة باستعمال الكلمة المفتاحية const لقواعد مجال المتغير (variable scoping) التي تضبط بقية المتغيرات. مع أخذ مخاطر استعمال define# بالحسبان، إنَّ ذلك يجعل من الكلمة المفتاحية const الطريقة الأمثل لتعريف الثوابت، ويفضل استعمالها بدلًا من define#.

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

const dataType var = val;

يمثِّل dataType نوع المتغير المراد تعريفه، و var اسم المتغير، و val القيمة المراد إسنادها إلى هذا المتغير الثابت. انتبه إلى أنَّه متى ما أسندَت القيمة val إلى المتغير، لن يعد بالإمكان تغييرها، وسيُستعمَل المتغير للقراءة فقط.

أمثلة

استعمال الكلمة const لتعريف الثابت π المستعمل في العمليات الرياضية:

const float pi = 3.14;
float x;

// ....

x = pi * 2;    // تستعمل الثوابت كثيرًا في العمليات الرياضية

pi = 7;        // سيولد هذا خطأً، إذ لا يمكن الكتابة على متغير ثابت

ملاحظات وتحذيرات

التعبير define# أم الكلمة المفتاحية const؟

يمكنك استعمال إمَّا الكلمة const المفتاحية أو التعبير define# لإنشاء ثوابت عددية أو نصية. أمَّا مع المصفوفات، فأنت بحاجة إلى استعمال const معها فقط. عمومًا، استعمال الكلمة const المفتاحية مفضَّلٌ على استعمال التعبير define#.

انظر أيضًا

  • الكلمة المفتاحية static: تُستعمَل عند إنشاء متغيرات مرئيَّة لدالةٍ واحدة فقط من أجل الحفاظ على محتواها بعد انتهاء تنفيذ تلك الدالة المستدعاة وحتى الاستدعاء التالي لها خلافًا للمتغيرات المحلية التي تُنشَأ وتدمَّر في كل مرة تُستدعَى فيها الدالة.
  • الكلمة المفتاحية volatile: تُستعمَل عادةً قبل نوع المتغير عند تعريفه لتوجيه المصرِّف إلى تحميل المتغير من الذاكرة RAM وليس من سجلات التخزين للذاكرة المؤقتة (الذاكرة flash) حيث تُخزَّن جميع متغيرات البرنامج.
  • مجال المتغيرات في أردوينو.

مصادر