के साथ दृश्य सीमाओं का उपयोग करके मैं मोनॉयड विशेषता का उपयोग करने के लिए मौजूदा कक्षा को परिवर्तित करके स्केलज़ में अपना पहला प्रयास कर रहा हूं। जो मैं प्राप्त करने की कोशिश कर रहा हूं वह है कि यह सुनिश्चित करने के लिए कि मेरे वर्ग प्रकार पैरामीटर पर एक दृश्य निर्धारित किया जाए, यह केवल उन प्रकारों के साथ उपयोग किया जा सकता है जिन्हें पूर्ण रूप से एक मोनॉयड में परिवर्तित किया जा सकता है। मेरे (सरलीकृत) वर्ग परिभाषा इस प्रकार है:स्केलज़
import scalaz._
import Scalaz._
case class Foo[T <% Monoid[T]](v: T)
new Foo(42)
इस सरल उदाहरण संकलन संकलक त्रुटि देता है:
error: No implicit view available from Int => scalaz.Monoid[Int].
इससे पहले इस दृश्य के लिए बाध्य टी से करने के लिए एक अंतर्निहित रूपांतरण के साथ मेरे स्वयं के कस्टम विशेषता के खिलाफ परिभाषित किया गया था विशेषता और यह ठीक काम किया।
अब मुझे क्या याद आ रही है कि मैंने इसे स्केलज़ में परिवर्तित कर दिया है?
धन्यवाद, क्रिस
शानदार। आपकी सहायता के लिए धन्यवाद. पता था कि यह कुछ स्पष्ट था। लिंक के लिए धन्यवाद - बाद में कुछ अच्छी पढ़ाई। –