سؤال

أحاول استخدام مكتبة Java (لا يتوفر كود مصدر) والتي تحدد بعض xxx.xxx.object طَرد.يشكو Scala من وجود "كائن" في اسم الحزمة، لذا لا يمكنني الاستيراد منه، ولا يمكنني أيضًا الإشارة إلى فئاته باسم مؤهل بالكامل.

هل هناك طريقة للتغلب عليه؟

هل كانت مفيدة؟

المحلول

يجب أن يعمل التفاف الكائن في `(علامة الاقتباس بجانب 1).

xxx.xxx.`object` 

نصائح أخرى

لإكمال agilefallإجابة, ، ال مواصفات لغة سكالا يذكر أن الاستيراد يتكون من id:

id ::= plainid
| ‘\`’ stringLit ‘\`’

يمكن أيضًا تشكيل المعرف من خلال سلسلة عشوائية بين علامات الاقتباس الخلفية (قد تفرض الأنظمة المضيفة بعض القيود على السلاسل القانونية للمعرفات).يتكون المعرف بعد ذلك من جميع الأحرف باستثناء علامات الاقتباس الخلفية نفسها.

تعد السلاسل المضمنة في Backquote حلاً عندما يحتاج المرء إلى الوصول إلى معرفات Java التي تعتبر كلمات محجوزة في Scala.
على سبيل المثال البيان Thread.yield() غير قانوني، منذ ذلك الحين yield هي كلمة محجوزة في سكالا.ومع ذلك، إليك الحل البديل:

Thread.`yield`()
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top