تخطَّ إلى المحتوى
StatePath
أطلس الأدواتlogic.branch

أداة

Branch

logic.branch

LogicBoolean

المُدخلات

aBoolean

إشارة الصح/الخطأ الأولى — مثلًا مرشّح اتجاه أو محفّز تقاطع. تُقرأ في كل الأوضاع.

bBoolean

إشارة الصح/الخطأ الثانية، وتُستخدم في وضع ‘and’/‘or’ فقط — مثلًا مرشّح زخم أو جلسة. وتُخفى حين يكون الوضع ‘if’.

المُخرجات

Bundle (untagged)

حزمة من خطَّي صح/خطأ: يحمل ‘true’ نتيجة الوضع ويحمل ‘false’ نقيضها التام، قيمة واحدة لكل شمعة. وكلا المقبضين قابل للتوصيل.

يجيب Branch عن سؤال صح/خطأ واحد ويمنحك الإجابتين معًا. يشتغل المقبض ‘true’ حين يتحقق الشرط، ويشتغل المقبض ‘false’ في كل شمعة أخرى. هذا الاقتران هو المقصود — صِل ‘true’ بـ buy و‘false’ بـ cancel_buy، فتقود عقدة واحدة طرفَي مخرج المرشّح دون عقدة Not منفصلة.

مخطّط عام للأداة Branchboolbrancbundle

كيف تعمل

اختر وضعًا. يمرّر ‘if’ المدخل a كما هو، فيكون ‘true’ هو a نفسه. و‘and’ صحيح فقط حين يكون a وb كلاهما صحيحًا؛ و‘or’ صحيح حين يكون أحدهما على الأقل صحيحًا. ما يحسبه الوضع يصير المقبض ‘true’، و‘false’ هو دائمًا نقيضه التام — يقتسم المقبضان كل شمعة بينهما، فلا يشتغلان معًا أبدًا ولا يصمتان معًا أبدًا. يُعتِم منتقي الوضع المدخلَ الثاني حين تختار ‘if’.

الأوضاع

Ifif

يمرّر a كما هو: ‘true’ هو a، و‘false’ هو كل شمعة أخرى. ويُتجاهل المدخل b.

مخطّط Ifboolifbundle

متى تُستخدَم: اقسم شرطًا قائمًا إلى طرفَي المرور والإلغاء، مثلًا أرسل راية اتجاه صاعد إلى buy ونقيضها إلى cancel_buy.

Andand

‘true’ فقط حين يكون a وb كلاهما صحيحًا؛ و‘false’ في كل شمعة أخرى.

مخطّط AndabANDout0 0 → 00 1 → 01 0 → 01 1 → 1

متى تُستخدَم: اشترط كل الشروط دفعة واحدة، مثلًا اتجاه صاعد وزخم صاعد قبل أن يُسمح لإشارة بالمرور.

Oror

‘true’ حين يكون a أو b صحيحًا على الأقل؛ و‘false’ فقط حين لا يكون أيٌّ منهما كذلك.

مخطّط OrabORout0 0 → 00 1 → 11 0 → 11 1 → 1

متى تُستخدَم: اقبل أيًّا من عدة إعدادات، مثلًا المرور عند اختراق أو عند إشارة ارتداد.

الإعدادات

modeenum

كيف يُحسب المقبض ‘true’: ‘if’ يمرّر a، و‘and’ يطلب صحة المدخلين، و‘or’ يطلب واحدًا على الأقل. و‘false’ هو دائمًا نقيض ‘true’ التام. ويُخفى المدخل الثاني في وضع ‘if’.

الخيارات:ifandor

يتصل بـ

يقرأ من
يغذّي

أمثلة

  • اضبط الوضع على if، ووصّل راية اتجاه صاعد إلى a، ثم أرسل ‘true’ إلى buy و‘false’ إلى cancel_buy ليبلغ المرشّح حكمًا في كل شمعة.
  • اضبط الوضع على and مع اتجاه صاعد في a وزخم صاعد في b ليمرّ فقط حين يتفقان.

أخطاء شائعة

  • توصيل ‘false’ بمنفذ إلغاء دون قصد ذلك. يشتغل ‘false’ في كل شمعة لا يتحقق فيها الشرط، فتوجيهه إلى cancel_buy يطرح الإشارة فورًا — اترك ‘false’ غير موصول إن كان الإخفاق ينبغي أن يعلّق فحسب ويعاود المحاولة في الشمعة التالية.
  • ترك b غير موصول في وضع ‘and’/‘or’: عندها تقرأ البوابة b خطأً، فتُثبّت ‘and’ على الخطأ إلى الأبد وتُحوّل ‘or’ بهدوء إلى تمرير بسيط لـ a.

اطّلع أيضًا