سؤال
أحاول استخدام مكتبة Java (لا يتوفر كود مصدر) والتي تحدد بعض xxx.xxx.object طَرد.يشكو Scala من وجود "كائن" في اسم الحزمة، لذا لا يمكنني الاستيراد منه، ولا يمكنني أيضًا الإشارة إلى فئاته باسم مؤهل بالكامل.
هل هناك طريقة للتغلب عليه؟
المحلول
يجب أن يعمل التفاف الكائن في `(علامة الاقتباس بجانب 1).
xxx.xxx.`object`
نصائح أخرى
لإكمال agilefall'س إجابة, ، ال مواصفات لغة سكالا يذكر أن الاستيراد يتكون من id
:
id ::= plainid
| ‘\`’ stringLit ‘\`’
يمكن أيضًا تشكيل المعرف من خلال سلسلة عشوائية بين علامات الاقتباس الخلفية (قد تفرض الأنظمة المضيفة بعض القيود على السلاسل القانونية للمعرفات).يتكون المعرف بعد ذلك من جميع الأحرف باستثناء علامات الاقتباس الخلفية نفسها.
تعد السلاسل المضمنة في Backquote حلاً عندما يحتاج المرء إلى الوصول إلى معرفات Java التي تعتبر كلمات محجوزة في Scala.
على سبيل المثال البيانThread.yield()
غير قانوني، منذ ذلك الحينyield
هي كلمة محجوزة في سكالا.ومع ذلك، إليك الحل البديل:
Thread.`yield`()