यहाँ, जावा का उपयोग करते समय मैं स्काला के साथ काम कर रहा हूँ। हमने पुस्तकालय में कुछ सामान्य कक्षाएं इकट्ठा करने का निर्णय लिया है जो जावा में लिखे जाएंगे।चिकनी तरीका है? काम ज्यादातर लोगों पर
जावा:
public interface Func<A, R> {
public R f(a A);
}
public AClass {
public <R> ArrayList<R> myMethod(
Func<String, R> func
) {
// ...
}
}
जावा में उपयोग:
AClass ac = new AClass();
ArrayList<String> al = ac.myMethod(
new Func<String, String> (
public String f(String s) {
return s + "!";
}
})
ऊपर बिल्कुल नहीं है अब मैं, पुस्तकालय के लिए कुछ छद्म कार्यात्मक प्रोग्रामिंग जोड़ने के निम्नलिखित पर एक नज़र लेने के लिए बाहर निकलना (वास्तव में एक स्केल परिप्रेक्ष्य से, वास्तव में चुनौतीपूर्ण की तरह)। वहाँ कुछ स्केला जादू को बुलाने के लिए स्केला में निम्नलिखित की तरह कुछ करने के लिए सक्षम होने के लिए कोई तरीका है:
var ac = new ACLass
var al = ac.myMethod(str => str + "!") // alternative 1
al = ac.myMethod { case: str:String => str + "!" } // alternative 2
मैं थोड़ी देर के लिए implicits के साथ चारों ओर गड़बड़ लेकिन चीजों को हल = पी नहीं मिल सका।
आप स्काला में एक एडाप्टर है कि एक लैम्ब्डा में ले जाता है और एक गुमनाम आंतरिक वर्ग में यह mutates पुस्तकालय का उपभोग करने के लिए बनाने की कोशिश की? मुझे यकीन है कि नहीं कर रहा हूँ अगर आप इस मिल जाएगा, हालांकि संकलन समय जेनरिक के साथ काम करने ... – Bringer128
मैंने किया था, लेकिन मैं इसे काम करने के लिए नहीं मिला =) – fickludd