اذهب إلى المحتوى

لوحة المتصدرين

  1. سارة طه

    سارة طه

    الأعضاء


    • نقاط

      1

    • المساهمات

      18


  2. Huda Almashta

    Huda Almashta

    الأعضاء


    • نقاط

      1

    • المساهمات

      411


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 09/13/17 في كل الموقع

  1. على مدى سنوات عديدة، حاول المؤلفون، الفنانون، والمسوّقون تسخير قوّة الألوان لجعل كتبهم، أعمالهم، وشركاتهم بارزة. لكن بما أنّ كلّ شخص منّا يفضّل لونًا معينًا، اتفق أغلب الباحثين تقريبًا على عدم وجود قواعد عامة عندما يتعلّق الأمر بكيفية تأثير الألوان على شعورنا. إذًا، كيف ستنتقي اللون (أو الألوان) التي تناسب علامتك التجارية؟ ذلك اللون الذي يجعلها جذّابة وبارزة، ويتوافق في الوقت نفسه مع الوعود الأخرى لعلامتك التجارية. لنكتشف ذلك! كيف يتعامل عقلك مع الألوان لكي نفهم كيفية تأثير اللون على تفكيرنا، يجب أن نفهم أولًا الطريقتين الأساسيتين اللتين تتعامل عقولنا بواسطتهما مع محفّزٍ كاللون: المعنى الضمني، وهو محفّز داخلي؛ هذا يعني أنّه متأصّل داخل شيء ما، ولا يتشكل المعنى اعتمادًا على عواطفنا أو تجاربنا. المعنى المرجعي، ويعتمد على شبكة من الارتباطات التي تنشط عندما نتعرّض لمحفّز. بعبارة أخرى، نحن نخلق المعنى من خلال ما نفكر به فورًا عندما نراه. لقد أظهرت تقريبًا كل الدارسات التجريبية حول الألوان عدم وجود معنى عام لكل لون. لذا فإنّ لونًا كالأزرق يعدّ في بعض الثقافات علامة للتعاسة، في حين أنّك قد تربطه بالسعادة والأمان. لذلك عليك أن تدرك أنّ معنى اللون لن يكون له وقع على عملائك في حال كنت تختار الألوان على أساس كيفية شعورك. وهذا يدفعنا إلى السؤال: إذا لم يكن بوسعنا استخدام أيّ من المعاني الضمنية للألوان للتأثير على الناس، ما الذي يمكننا فعله؟ فعالّية ارتباطات الألوان (وكيفية استخدامها) من الأساليب الفعّالة لاختيار لون علامتك التجارية أن تستخدم ارتباطات اللون بدلًا من محاولة ربطه بنوع من الرابط الثقافي أو الشخصي. ما الذي يفكّر به المستخدمون عندما يرون ألوان علامتك التجارية؟ أو ما هو أهم من ذلك، ماذا تريد منهم أن يروه؟ ابدأ بالتفكير حول هوية علامتك التجارية. فقد وجد الباحثون في دراسة The Interactive Effects of Colors (التأثيرات التفاعلية للألوان) أنّ العلاقة بين العلامات التجارية والألوان تتوقّف على "المُلاءمة المحسوسة للّون المُستخدم في العلامة التجارية". بعبارة أبسط، يجب أن يُشعِر اللون بالتلاؤم الجيّد مع المنتج أو الشيء المُباع. انظر إلى استخدام Apple للّون الأبيض وكيف أنّه يجسّد قيمهم للتصاميم البسيطة والواضحة، أو إلى استخدام Victoria’s Secret للّون الوردي بكثافة في علامتهم التجارية ومنتجاتهم؛ الشركتان كلتاهما تستخدمان اللون لدعم هويتهما. سيبدأ عملاؤك بتمييزك أكثر من خلال الألوان كلّما زاد استخدامك لها لتعزيز قيم علامتك التجارية. فقد أوضح المؤلفان Labrecque و Milne في دراستهما Exciting red and competent blue: the importance of color in marketing (الأحمر المثير والأزرق المنافس: أهمية الألوان في التسويق): "عندما تقترن العلامات التجارية بالألوان، تصبح ألوان العلامة التجارية وارتباطاتها مرتبطة بالذاكرة، وبالتالي تُنشَأ المعاني الدلالية للألوان من خلال عملية ديناميكية وانعكاسية. كما أنّ تنشيط ارتباطات الألوان، بالإضافة إلى تأثيرها على الوَقْع، الإدراك، والسلوك، يمكن أن يحدث بدون إدراك أو نيّة واعية من الشخص، ويعمل كمحفّز غير واع ذي قدرة على تنشيط حوافز متعددة". تمثل ألوان علامتك التجارية فرصة لبناء معنى رمزي يمكن أن يؤثر على طريقة تفكير الناس عندما يشاهدون علامتك التجارية أو عملك حتّى دون أن يعُوا ذلك. وفي الواقع، وجد الباحثون في دراسة Impact of Color in Marketing (تأثير الألوان في التسويق) أنّ 62% - 90% من الأحكام السريعة حول المنتجات يمكن أن تكون مبنية على اللون وحده. دليل مفصّل إلى إنشاء لوحة ألوان لعلامتك التجارية إنّ عقولنا مبرمجة لرفض كلّ من المعلومات قليلة التحفيز والمعلومات عالية التحفيز، لذا من المهم إنشاء لوحة ألوان تعمل على خلق كلّ من الاهتمام البصري والحسّ بالاتساق. فالمعلومات البصرية الكثيرة جدًا تُشعِر بعدم الانسجام، والمعلومات القليلة جدًا لا يمكنها أن تعبّر عن قيم وهوية العلامة التجارية بوضوح. فيما يلي دليل أساسي سريع يوضّح خطوة بخطوة كيف تُنشِئ لوحة الألوان لعلامتك التجارية. الخطوة 1: اختر الألوان الأساسية يمكنك اختيار اللون الأساسي الذي ستبدأ به حسب رغبتك، ومن ثم ستقوم ببناء الارتباطات حوله بينما تطوّر علامتك التجارية. لكن، من المهم أن تختار في البداية لونًا يتوافق مع قيم علامتك التجارية. فكّر في البني والأخضر لشركات معدات التخييم مثلًا، أو الأزرق الفاتح أو الأبيض للمنظمات غير الحكومية التي توفّر الماء الصافي...وهكذا. بعد أنّ تختار اللون الأساسي، يجب أن تتعلّم بعض نظريات الألوان لتعثر على التدرجات المكمّلة. لنبدأ بعجلة الألوان: طوّر العالِم إسحاق نيوتن عام 1666 عجلة الألوان الأولى القائمة على الألوان الأساسية، الأحمر، الأصفر، والأزرق، وقد ظلّت من الطرق المهمة لوضع نظام الألوان. هناك 3 أنواع أساسية من العجلات: الألوان الأساسية، الألوان الثانوية، والألوان الثالثية (وهي الموضّحة أعلاه). تحتوي عجلة الألوان الأساسية على ثلاثة ألوان فقط: الأحمر، الأصفر، والأزرق، والتي تعدّ، في نظرية الألوان التقليدية، الألوان الصبغية الثلاثة التي تُشتق منها بقية الألوان. وتتضمّن عجلة الألوان الثانوية الألوان الأخضر، البرتقالي، والأرجواني؛ أي الألوان التي يُتحصَّل عليها بدمج الألوان الأساسية معًا. أمّا عجلة الألوان الثالثية فتحتوي على تدرجات مثل البرتقالي المصفرّ، البرتقالي المحمرّ، الأخضر المزرقّ، والأخضر المصفرّ. ويُتحصَّل على هذه الألوان بدمج الألوان الأساسية والثانوية معًا. ملاحظة: يمكن عمل عجلة ألوان أكثر تعقيدًا، لكننا سنتوقف إلى هذا الحد في هذا المثال. بما أنّه أصبح بإمكاننا الآن رؤية التناسب الطبيعي للألوان المختلفة، حان الوقت لمعرفة كيفية عمل هذه الألوان معًا. وكما في الموسيقى، يمكنك خلق التوازن والاهتمام من خلال انسجام الألوان. إذا نظرنا إلى عجلة الألوان سنجد أنّه يمكن خلق انسجام الألوان بعدد من الطرق المختلفة: الطريقة الأولى هي باستخدام الألوان المتقاربة: ويقصد بها الألوان الثلاثة المتجاورة. على سبيل المثال، إذا أردت أن يكون الأخضر هو اللون الأساسي لشركتك، سيكون اللونان المقاربان المكمّلان له هما الأخضر المصفرّ والأخضر المزرقّ. الطريقة الأخرى، والتي يمكن أن تكون أكثر لفتًا للنظر، هي باستخدام الألوان المكمّلة؛ ويقصد بها الألوان المقابلة لبعضها مباشرة على عجلة الألوان، مثل الأخضر والأحمر، أو الأصفر والبنفسجي. وأخيرًا، إذا رغبت في التوسّع أكثر والعثور على ألوان أخرى منسجمة، يمكنك استخدام الألوان المُقاربة المكمّلة للألوان المكمّلة الرئيسية. في هذه الحالة يمكن أن تتضمّن الألوان الأربعة لعلامتك التجارية الأخضر، الأخضر المصفر، الأحمر، والأحمر المائل إلى الأرجواني. كانت هذه نظرة أساسية جدًا على نظرية الألوان، وهناك بعض المصادر المفيدة التي يمكن أن تساعدك في العثور على الألوان المكمّلة. الخطوة الثانية: اخلق المزيد من الانسجام (أو التباين) صحيحٌ أنّ الألوان المنسجمة والمكمّلة مهمة للشعارات والمواقع، إلّا أنّ بعض الحالات تحتاج إلى استخدام لون معين للفت الانتباه. ووفقًا لتأثير العزلة، يتم تذكّر العناصر، النصوص، والصور بوضوح أكثر إذا كانت ملفتة جدًا للنظر. فعندما يكون أحد هذه الأشياء مختلفًا عن غيره، سيكون بإمكاننا تذكّره بسهولة أكبر. تتمثل إحدى الطرق الجيدة لجعل العناصر بارزة، كنماذج الاشتراك أو الدعوة إلى إجراء call-to-action، باستخدام لون غير منسجم مع لوحة الألوان الرئيسية. وكما تلاحظ من خلال المثال أعلاه، يجذب الزر الأحمر الفاقع على الخلفية ذات اللون الأزرق الفاتح انتباهنا على الفور. للعثور على مثل هذه الألوان المتباينة، تلاعب بألوانك المكمّلة، ولاحظ كيف تتأثر الألوان المختلفة عند وضعها جنبًا إلى جنب. هل تلاحظ كيف يبدو اللون الأصفر نفسه مختلفًا نسبة إلى لون الخلفية في المثال أعلاه؟ إذ تجده أكثر زهاءً مع الأسود، وأقّل إشراقًا مع الأبيض. ويندمج ويبهت أكثر مع اللون البرتقالي، بينما يبرز مع الأزرق السماوي. ما تبقى لك بعد أن تنتهي من إنشاء لوحة الألوان الرئيسية لعلامتك التجارية هو التجربة. الخطوة 3: أنشئ مجموعة من قواعد الألوان بعثورك على الألوان التي تريد استخدامها يحين وقت إنشاء مجموعة من القواعد. هنا ستقوم بعمل توافق بين قيم علامتك التجارية والألوان. يمكن أن تكون هذه العملية أساسية جدًا لدرجة القول بأنّ "الأحمر يدل على الابتكار، والأخضر يدل على الوعي البيئي". إذا كنت تواجه صعوبة في تحديد قيمك الأساسية، حاول أن تكتب قصة من 4 كلمات: ابدأ بسؤال نفسك: ما هي الصفات التي تتبادر إلى ذهنك كلّما تحدثت عن شركتك؟ اكتبها ولا تهمل أيّة أفكار. بعد ذلك، تخلّص من الصفات غير ذات الصلة تمامًا ونظّم بقية الصفات في مجموعات. يمكن أن تتضمّن مجموعاتك واحدة تتحدّث عن مزايا علامتك التجارية، أو أخرى تصف عملاءك/جمهورك. بعد إنشاء المجموعات، قم بتقليصها حتّى تحصل على 4 مجموعات. اختر كلمة أساسية واحدة من كل مجموعة. الآن رتّب تلك الكلمات الأربعة من الأكثر إلى الأقل أهمية. عيّن لونًا رئيسيًا للكلمة الأكثر أهمية، ولونًا مكمّلًا للكلمة التي تليها بدرجة الأهمية. بعد ذلك، عيّن لبقية سماتك ألوانًا معينة. بذلك تكون قد انتهيت من إنشاء قواعد الألوان. بالنسبة لشركتك، ستكون هذه الألوان ملائمة دائمًا للقيم التي خصصتها لها. وبمرور الوقت، سيبدأ العملاء بفهم معانيها، سواء بوعي أو بدون وعي. خاتمة من المذهل أن أرى، بوصفي كاتبا يكتب من أجل لقمة العيش، مدى سرعة الألوان في تمثيل القيم التي يمكن أن تتطلب صفحات للتعبير عنها بالكلمات. لهذا السبب يعدّ فهم عمل الألوان وتأثيرها، حتّى لو كان على مستوى أساسي، من الطرق الرائعة والسريعة لإضفاء معنى فريد لعملك. لوحة الألوان الخاصة بعلامتك التجارية هي فرصتك لتصبح معروفًا ومميزًا. ولهذا السبب يمكنك أن تميّز جهاز iPhone على الجانب الآخر من الشارع، أو يافطة ماكدونالدز على بعد أميال على الطريق. لذا اختر لونًا وانطلق! ترجمة – بتصرّف - للمقال How to pick the perfect colors for your brand لصاحبه: Jory MacKay. حقوق الصورة البارزة محفوظة لـ Freepik
    1 نقطة
  2. تعرّفنا في الدّرس السّابق على لغة روبي ووميزاتها. في هذا الدّرس سوف نستعرض بعض أنواع البيانات في Ruby، وسنتعرّف باستفاضة على نوع السلاسل. كما سنتعرّف على أحد أهمّ سمات أيّ لغة برمجة، ألا وهي المتغيّرات. سنستخدم في الجزء الأول من الدّرس سطر أوامر روبي التفاعليّ. افتح الطرفيّة وابدأ جلسة irb عن طريق كتابة أمر irb والضغط على زر Enter. القيم والأنواع القيمة هي أبسط شيء يتعامل معه البرنامج مثل حرف أو رقم. تعرّفنا في الدّرس السّابق على بعض تلك القيم. تختلف القيمة 2 عن القيمة "Hello World"، حيث أن الأولى هي عدد صحيح Integer أمّا الثّانية فهي من نوع سلسلة String، جاءت التسمية من كونها سلسلة من الأحرف. يمكنك التعرّف بسهولة على السلاسل من خلال علامات الاقتباس المحيطة بالقيمة. هناك نوع آخر يسمّى Float وهو أيّ رقم يحتوي على علامة عشريّة، مثلاً: 2.5، 13.6، 4.0. ملحوظة: قد تعتقد أن "12" و"1.5" هي أرقام وتتعامل معها في برنامجك على ذلك فتنفّذ عليها عمليّات حسابيّة وتكتشف بعد ذلك أنّ مفسّر روبي يظهر لك علّة برمجية Bug. سبب ذلك أنّها ربّما تكون أرقامًا بالنسبة لك ولكن المفسّر يعتبرها سلاسل نصيّة حيث أنّها محاطة بعلامات الاقتباس والمفسّر مُبَرْمَج على تصنيف أيّ شيء بين علامات اقتباس على أنّه سلسلة. تريد التأكد من ذلك بنفسك؟ جرّب جمع "12" + "1.5". أو بطريقة أخرى يمكنك استخدام الدّالة المدمجة is_a لسؤال روبي هل هذه القيمة نوعها Integer مثلاً وستردّ عليك روبي true أو false. فمثلاً إذا أردت التأكّد من نوع قيمة معيّنة مثل 12 اكتب الأمر التالي: 12.is_a?(Integer) الآن للعودة إلى ما إذا كان كل من "12" و"1.5” أرقامًا أم سلاسل، جرّب الأوامر التالية (تأكّد من كتابة أوّل حرف بشكل كبير Capital): "12".is_a?(Integer) "1.5".is_a?(Float) أحيانًا عند كتابة أعداد كبيرة قد تجد نفسك محتاجًا إلى إرفاق فواصل لجعل العدد قابلاً للقراءة أكثر، مثلاً 1,000,000. لو فعلت ذلك في روبي ستحصل على خطأ. ولكن يمكنك فعل ذلك مع الأمر puts. مثلاً يمكن كتابة: puts 1,000,000 ماذا كانت النتيجة؟ لم تتوقعها أليس كذلك؟ قامت روبي قامت بطباعة: 1 0 0 رقم 1 و 0 و 0 في أسطر مختلفة. حدث ذلك لأنّ روبي قد فسّرت هذا العدد على أنّه ثلاثة أرقام مستقلّة ومفصول بينها بفواصل. في روبي يمكن استخدام الأمر puts لطباعة أكثر من قيمة في أكثر من سطر عن طريق الفصل بين تلك القيم بفاصلة. فمثلاً لو أردت طباعة "Hello" في سطر وبعدها "World" في سطر باستخدام أمر روبي واحد يمكن استخدام الأمر التالي: puts "Hello", "World" Hello World السلاسل السلاسل في روبي هي مجموعات من الأحرف. يمكن إنشاء سلسلة نصيّة عن طريق كتابة أحرف ونصوص داخل علامتي اقتباس مزدوجة. مثلاً لكتابة سلسلة تحتوي على نصّ Hello Ruby اكتب الأمر التّالي: "Hello Ruby" يمكن استخدام علامة الاقتباس المفردة أيضًا لإنشاء سلسلة في روبي، لذلك فيمكن إنشاء السلسلة السّابقة كالتّالي: 'Hello Ruby' إذا أردت استخدام أحد نوعي علامات الاقتباس في داخل نصّك فعليك استخدام النّوع الآخر لإنشاء السلسلة فمثلا لو أردت إنشاء سلسلة نصيّة بها I'm learning Ruby، واستخدمت علامة الاقتباس المفردة لإنشاء السلسلة سيؤدّي ذلك إلى حدوث خطأ ولن يتمّ تنفيذ الأمر. لذلك فالطريقة الصحيحة لكتابة هذه السلسلة هو استخدام علامة الاقتباس المزدوجة: "I'm learning Ruby" مثال آخر: puts '"Never memorize something that you can look up." -Albert Einstein' خيار آخر لاستخدام علامات الاقتباس في السلاسل يسمّى هروب علامة الاقتباس escaping، يحدث هذا عن طريق وضع خط مائل عكسي Backslash قبل علامة الاقتباس والذي سيؤدّي إلى اعتبارها حرفًا عاديًّا بدلاً من تنفيذها كوسيلة لإنشاء سلسلة. يمكن إذًا كتابة السلسلتين السّابقتين كالتّالي: 'I\'m learning Ruby" "\"Never memorize something that you can look up.\" -Albert Einstein" ذكرنا في الدّرس الأوّل أنّ كل شيء في روبي هو كائن Object. يمكن للكائنات تنفيذ أفعال يُطلق عليها اسم دوال. هناك الكثير من الطرق لجعل كائن ينفّذ دالّة ولكن الطريقة الأكثر شيوعًا هي التنويت النُقطي Dot Notation وهو عبارة عن أن تكتب الكائن (في مثالنا هذا الكائن هو السلسلة "Hello Ruby") متبوع بنقطة ثم اسم الدّالة التي تريد استدعاءها. لنجرّب استدعاء الدّالة length والتي هي دالّة مدمجة في روبي تقوم بإرجاع طول السلسلة أو بمعنى آخر عدد الأحرف الموجودة في السلسلة: "Hello Ruby".length المتغيرات أحد أقوى السمات في أيّ لغة برمجة هي القدرة على التعامل مع المتغيّرات. المتغيّر ببساطة هو عنوان (أو "اسم") يشير إلى قيمة معيّنة. بمعنى آخر فالمتغيّر هو طريقة لحفظ الكائنات في الذّاكرة من أجل الاستخدام لاحقًا. يمكن في روبي تعيين متغيّر إلى كائن بسهولة باستخدام عامل التساوي (Equals Operator =): name = "Sara" في هذا المثال، اسم المتغيّر يشير إلى السلسلة "Sara". يعني هذا أنّه بإمكاننا استدعاء دوال مختلفة مباشرةً على اسم المتغيّر بدلاً من كتابة السلسلة في كلّ مرة أردنا استدعاء دالّة. الآن إذا أردت استدعاء الدّالة length لحساب طول السلسلة يمكن ببساطة كتابة ذلك كالتّالي: name.length لنجرّب الآن بعض دوّال روبي التي يمكن استخدامها مع السّلاسل في روبي (السّلاسل عبارة عن كائنات في روبي) على هذا المتغيّر. على سبيل المثال، دالّة reverse ستقوم بطباعة السلسلة معكوسة: name.reverse دوال upcase و downcase من الدوال الخاصّة بالسلاسل أيضًا دالّتا upcase و downcase. تقوم دالّة upcase بتحويل كل الأحرف الموجودة في السلسلة النصيّة إلى أحرف كبيرة Capital Letters. أمّا دالّة downcase فتحوّل كل الأحرف الموجودة في السلسلة إلى أحرف صغيرة Small Letters. جرّب استدعاء الدّالتين على المتغيّر name: name.upcase name.downcase هناك عدد كبير جدًا من الدوال الخاصّة بالسلاسل يمكنك التعرّف على جميعها عن طريق استخدام دالّة methods (نعم هذا هو اسمها) على المتغيّر الخاصّ بك، هكذا: name.methods عند تنفيذ الأمر ستقوم روبي بعرض جميع الدوال المختلفة التي يمكن لهذا النوع من الكائنات استخدامها. يمكنك أيضًا معرفة أكثر عن تلك الدوال عن طريق قراءة التوثيقات الخاصّة بها. دوال Bang ربّما لاحظت أن جميع الدوال التي استخدمناها حتّى الآن لم تغيّر شيئًا في السلسلة، فمثلاً إذا أردتُ معرفة القيمة الموجودة في المتغيّر name من جديد سأجد أن القيمة ما زالت كما عيّنتها من البداية (لمعرفة قيمة متغيّرك فقط اكتب اسم المتغيّر واضغط Enter أو استخدم puts إن أردت). لم تتغيّر القيمة وتصبح السلسلة معكوسة ولا جميع الحروف كبيرة أو صغيرة. لكن ماذا لو أردت فعلاً تغيير تلك القيمة؟ سنجرّب بعض الدوال التي تقوم بالفعل بتغيير قيمة السلسلة. أنشئ متغيّرًا باسم fruit واجعله يساوي السلسلة "apple". يمكن تغيير قيمة ذلك المتغيّر عن طريق استدعاء دوال تسمّى بدوال Bang، تنتهي تلك الدوال بعلامة التعجّب أو ما يسمّى برمز Bang. فمثلاً لو أردت تنفيذ الدالة reverse على السلسلة الخاصّة بك وحفظ القيمة الجديدة بدلاً من القيمة الأصليّة يمكن كتابة ذلك ببساطة هكذا: fruit.reverse! عندما نقوم بطباعة المتغيّر بعد ذلك نلاحظ تغيّر القيمة إلى elppa بدلاً من القيمة السّابقة apple. بهذا نكون قد استغنينا تمامًا عن القيمة الأصليّة واستبدلناها بالقيمة الحاليّة. معظم الدوال الخاصّة بالسلاسل لديها دالّة Bang مماثلة. على سبيل المثال هناك أيضًا دالّة Bang مقابلة لدالّة upcase العاديّة. إذًا فيمكننا كتابة: fruit.upcase! سيطبع هذا الأمر قيمة السلسلة بأحرف كبيرة وأيضًا من جديد سيتمّ استبدال القيمة السابقة بالقيمة الجديدة والتي هي ELPPA. إذا كانت هناك علامة تعجّب Bang في نهاية دالّة روبي فهذا غالبًا يعني كن حذرًا، يمكن لهذه الدالّة أن تكون خطرًا. في حالة الأمثلة السّابقة فهي تعني أنّ قيمة السلسلة ستتغيّر فيجب أن تكون حذرًا متى قمت باستخدام هذه الدوال. تسلسل الدوال قد يكون راودك تساؤل حول ماذا لو أردت تنفيذ العديد من الدوال على أحد المتغيّرات، هل يجب كتابة استدعاء الدالّة على المتغيّر لكل دالّة على حدة؟ لحسن الحظّ يمكن استدعاء أكثر من دالة في وقتٍ واحد على نفس المتغيّر. على سبيل المثال إذا عدنا من جديد إلى المتغيّر name وأردنا كتابته معكوسًا وبأحرف كبيرة، يمكن كتابة ذلك تسلسليًّا هكذا: name.reverse.upcase ولكن تذكّر دائمًا أنّه يتمّ تنفيذ الدوال بالترتيب من اليسار إلى اليمين. رغمّ أنّها لا تهمّ في حالة المثال أعلاه، فحتى إذا بدّلنا الترتيب ستكون النتيجة مشابهة. إلا أنّه يمكن أن يتغيّر النّاتج عن النّاتج الذي تتوقعه في حالات أخرى، لذلك يجب التحقّق من الترتيب عند استخدام هذه الطريقة في استدعاء الدوال. إدراج شيفرات برمجية في السلاسل يمكن بطريقة بسيطة جدًا إدراج شيفرات برمجيّة في سلاسل نصيّة وتنفيذ تلك الشيفرات. يمكن فعل ذلك عن طريق وضع الشيفرات البرمجيّة داخل حاضنات Curly Brackets مع إضافة رمز التلبيد Hash في البداية: "Hello my name is #{name}" يطبع هذا نصًا يحتوي على الجملة المكتوبة بالإضافة إلى النصّ الموجود في المتغيّر name الذي قمنا بإنشائه سابقًا. لذلك فالسلسلة السابقة ستصبح "Hello my name is Sara". ما حدث هو أنّه قد تمّ إدراج قيمة المتغيّر name بداخل السلسلة حيث أنّ علامة التلبيد مع الحاضنات تخبر روبي بأن الموجود بينها هو شيفرات يجب على روبي تنفيذها أولاً وليس طباعتها كما هي. هناك أمر مهمّ عليك تذكّره وهو أنّه عند استخدام شيفرات برمجيّة بداخل سلسلة فلا بد من استخدام علامات الاقتباس المزدوجة. إذا استخدمت علامات اقتباس مفردة فسيتمّ طباعة النصّ كما هو {Hello my name is \#{name. والخط المائل هذا يعني أنّه قد تمّ تخطي هذه القيمة وطُبعت كما هي، مثلما رأينا في السّابق مع 'I\'m'. تطبيق عملي الآن بعد التعرّف على المتغيّرات والسلاسل حان الوقت لكتابة برنامج حقيقي باستخدامهما. في هذا البرنامج سيتمّ طباعة سلسلة نصيّة تسأل المستخدم عن اسمه، ثمّ يقوم البرنامج بعد ذلك باستخدام الاسم الذي سيدخله المستخدم لتطبيق بعض الدوال التي تطرّقنا إليها. أوّلاً نحتاج لإنشاء ملفّ روبي، سمّه ما تريد ولكن لا تنس إضافة rb. إلى نهاية اسم الملفّ. لقد أسميتُ ملفّي greetings.rb. بدايةً سنحتاج إلى طباعة رسالة للمستخدم لسؤاله عن اسمه. لفعل ذلك سنستخدم الأمر puts: puts "Hello, what's your name?" بعد ذلك سنحتاج إلى تمكين المستخدم من كتابة اسمه. أمر gets أمر gets هو اختصار لـ get string والذي يقوم بإيقاف البرنامج وانتظار عمليّة إدخال من المستخدم قبل متابعة تنفيذ البرنامج. سيكون المُدخَل عبارة عن سلسلة كما هو واضح من اسم الأمر. إحدى دوال السلاسل دالّة تسمّى chomp يمكن تطبيقها على سلسلة لحذف الحرف الذي يتمّ إضافته افتراضيًّا للسلسلة بعد الضغط على Enter، حيث أنّه عند استقبال إدخال من المستخدم وبضغطه على زرّ Enter يتمّ تلقائيًّا إضافة حرف سطر جديد إلى نهاية السلسلة. إذًا لتمكين المستخدم من إدخال اسمه نحتاج إلى استخدام أمر gets للحصول على المدخل واستدعاء دالّة chomp لحذف الحرف الزائد وحفظ ناتج ذلك في متغيّر لاستخدامه في وقتٍ لاحق. نكتب ذلك في روبي كالآتي: name = gets.chomp وأخيرًا سنقوم بكتابة شيفرات برمجيّة تتعامل مع هذا المدخل وتطبع بعض المعلومات عنه، أضف ما يلي بعد الأمرين السّابقين في ملفّ روبي الخاصّ بك: puts "Hello #{name}. Your name's length is #{name.length}. That's not really long! Your name backwards is #{name.reverse.downcase.capitalize}" ليُصبح كامل الملف على النّحو التّالي: puts "Hello, what's your name?" name = gets.chomp puts "Hello #{name}. Your name's length is #{name.length}. That's not really long! Your name backwards is #{name.reverse.downcase.capitalize}" يقوم هذا الأمر بطباعة سلسلة نصيّة تحتوي على شيفرات برمجيّة تطبع اسم المستخدم، عدد الأحرف في اسم المستخدم واسم المستخدم معكوسًا. لاحظ في الجزء الثالث كيف أضفنا تسلسل دوال من ثلاث دوال، إحداها هي دالّة جديدة تسمّى capitalize. تقوم دالّة capitalize بتغيير الحرف الأوّل فقط من السلسلة وتحويله إلى حرف كبير على عكس دالة upcase التي تحوّل جميع أحرف السلسلة. احفظ الملفّ بعد كتابة الشيفرات البرمجيّة كاملة ثم قم بتنفيذه عن طريق فتح الطرفيّة والتوجّه إلى مسار المجلّد الذي قمت بحفظ الملفّ به ثم كتابة ruby متبوعًا باسم الملف (أي أنه في حالتي سأكتب الأمر ruby greetings.rb)، إذا واجهتك مشكلة في ذلك فراجع كيف قمنا بعمل ذلك في الدّرس الأوّل. خاتمة بهذا نكون قد انتهينا من الدّرس الثاني وتعرفنا على بعض المفاهيم الأساسيّة في روبي. جاء دورك للتطبيق وحدك، قارن ما يفعله البرنامج بالشيفرات البرمجيّة الخاصّة به للتعرّف أكتر على وظيفة كل جزء. طبّق أيضًا استخدام دوال أخرى لم نستخدمها في البرنامج. كذلك ربّما تريد تجربة كتابة اسمك ثنائيًّا أو ثلاثيًّا مع إضافة مسافة بين كل اسم، هل يتمّ حساب المسافة كحرف ضمن الاسم؟ ابحث في الدوال الخاصّة بالسلاسل عن سلسلة تعالج هذا الأمر وطبّقها.
    1 نقطة
×
×
  • أضف...