5
नामित एक्स
बस एक गतिशील वस्तु को लागू क्षेत्र (का उपयोग कर 2.10.0-एम 3):स्काला गतिशील
import language.dynamics
object D extends Dynamic {
def selectDynamic(field : String) = Symbol(field)
}
निम्नलिखित ठीक काम करता है और उम्मीद
object DynamicTest extends App {
println(D.a)
}
मुद्रण 'एक
के रूप में लेकिन, अगर मैं इसे आजमाता हूं:
object DynamicTest extends App {
println(D.x)
}
मुझे ग़लत त्रुटियां मिलती हैं:
[error] DynProb.scala:7: type mismatch;
[error] found : D.type
[error] required: ?{val x: ?}
[error] Note that implicit conversions are not applicable because they are ambiguous:
[error] both method any2Ensuring in object Predef of type [A](x: A)Ensuring[A]
[error] and method any2ArrowAssoc in object Predef of type [A](x: A)ArrowAssoc[A]
[error] are possible conversion functions from D.type to ?{val x: ?}
[error] println(D.x)
[error] ^
[error] one error found
एक्स इतना खास क्यों है? मैं कुछ बेवकूफ कर रहा हूँ?
यह समस्या है: https://github.com/scala/scala/blob/master/src/library/scala/Predef.scala#L271 – Debilski
तो, मुझे अनिवार्य रूप से तब तक इसके साथ रहना होगा जब तक कि चीज़ वास्तव में हटाई न जाए lib से, सिर्फ बहिष्कृत नहीं। शर्म की बात है। सूचक के लिए धन्यवाद :-) – hughleat
यहां एक विचार है: यह मानते हुए कि गतिशील पहले चुनिंदा गतिशील आदि का प्रयास करने से पहले दायरे में उपयुक्त नाम ढूंढने का प्रयास करता है। क्या इसे बहिष्कृत नामों से भी बचा जाना चाहिए? – hughleat