ال

الحرّاس في Elixir

53 تمرينًا

نبذة عن الحرّاس

تُستخدم الحرّاس كمكمّل لـمطابقة الأنماط. وهي تتيح فحوصات أكثر تعقيدًا. ويمكن استخدامها في بعض الحالات التي يمكن فيها استخدام مطابقة الأنماط، وليس كلها، مثل بنود الدالة أو بنود case.

def empty?(list) when is_list(list) and length(list) == 0 do
  true
end
  • تبدأ الحرّاس بالكلمة المفتاحية when، ويتبعها تعبير منطقي.

  • تعبيرات الحرّاس دوال خاصة:

    • يجب أن تكون نقية وألّا تغيّر أي حالة عامة.
    • يجب أن تُرجع قيم true أو false الصارمة.
  • تجد قائمة بالحرّاس الشائعة في توثيق Elixir. وهي تشمل:

  • يمكنك تعريف الحرّاس الخاص بك باستخدام defguard.

    • وفقًا لاصطلاحات التسمية في Elixir، يجب أن تبدأ أسماء الحرّاس بـ is_.

      defmodule HTTP do
        defguard is_success(code) when code >= 200 and code < 300
      
        def handle_response(code) when is_success(code) do
          :ok
        end
      end
      
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم الحرّاس

التدريب مقفل

افتح 6 تمارين إضافية لممارسة الحرّاس