رموز أو فصول القضية لإرسال الرسائل إلى الجهات الفاعلة سكالا؟
-
06-07-2019 - |
سؤال
في الأمثلة الممثل سكالا لقد رأيت حيث يتم إرسال رسالة parameterless إلى فاعل (مثل <وأ href = "http://www.scala-lang.org/node/242" يختلط = "نوفولو noreferrer" > هذا )، case class
es (أو case object
s) قد تم إنشاء ثم تستخدم الرسائل. رموز العمل فقط كذلك وتبدو وإتقانا قليلا، وبعد قراءة كتاب عن إرلانج، يبدو أكثر طبيعية. وأفترض أن المساواة رمز ستعمل للجهات الفاعلة البعيدة.
لرسائل مع فئات المعلمات الحالة لن يكون خيارا واضحا، لذلك ربما الاتساق بين أنواع الرسائل غير مسألة واحدة؟
هل هناك أي أسباب للذهاب لأي النهج؟
المحلول
وأنا لا أعتقد أن Symbol
s تعد بديلا لاستخدام الطبقات case
. في الواقع، أنا لست متأكدا تماما ما فائدة Symbol
هو على الإطلاق، نظرا لأنها تفتقر إلى السلطة من الرموز في لغات أخرى (مثل روبي، من Smalltalk) - انها مجرد سلسلة المعتقلين
وعلى سبيل المثال، في المثال مزاد قياسية، فإنه من الصعب أن نرى كيف سيكون تمثيل تعقيد العرض / الطلب استخدام الرموز وحدها.
وأما بالنسبة case
على التحف ، أو أنا ويعتقد أيضا أن هذه هي أفضل من حرف. على سبيل المثال، يمكن أن تكون حالات trait
s غيرها، وبالتالي توفير وظائف.
نصائح أخرى
والجواب القصير هو تجميع لمرة والتحقق.
ويعتقد حتى حرف ويمكن استخدام الرسائل وهم أكثر إيجازا من الأجسام حالة (لا حاجة لتحدد لهم)، المترجم لا يمكن الكشف عن رموز أخطاء إملائية وسيكون لديك صعوبة في معرفة السبب الجهات الفاعلة لا يتلقون رسائل معينة عند من المفترض أن.
إذا تستخدم فصول القضية و / أو كائنات مثل الرسائل، ومترجم اقول لك إذا كنت تحاول إرسال و / أو تلقي الرسائل غير موجودة قبل تنفيذ البرنامج حتى.