के साथ स्कालाज़ का ट्रैवर्स_ मैं आईओ मोनड का उपयोग करना चाहता हूं।आईओ मोनड
लेकिन यह कोड बड़ी फ़ाइल के साथ नहीं चला है। मुझे एक स्टैक ओवरफ्लो एरर मिल रहा है। मैंने -DXss
विकल्प का प्रयास किया, लेकिन यह वही त्रुटि फेंकता है।
val main = for {
l <- getFileLines(file)(collect[String, List]).map(_.run)
_ <- l.traverse_(putStrLn)
} yield()
मैं यह कैसे कर सकता हूं?
मैंने आईटेरेट लिखा जो सभी तत्वों का उत्पादन करता है।
def putStrLn[E: Show]: IterV[E, IO[Unit]] = {
import IterV._
def step(i: IO[Unit])(input: Input[E]): IterV[E, IO[Unit]] =
input(el = e => Cont(step(i >|> effects.putStrLn(e.shows))),
empty = Cont(step(i)),
eof = Done(i, EOF[E]))
Cont(step(mzero[IO[Unit]]))
}
val main = for {
i <- getFileLines(file)(putStrLn).map(_.run)
} yield i.unsafePerformIO
यह भी वही परिणाम है।
मुझे लगता है कि आईओ कार्यान्वयन के कारण होना चाहिए।
पहला सवाल * क्यों/कैसे * यह एक बड़ी फ़ाइल के साथ नहीं चल रहा है आप एक हो रही है है स्टैक ओवरफ़्लो त्रुटि, स्मृति त्रुटि से बाहर, या कुछ और? –
मुझे एक स्टैक ओवरफ्लो एरर मिल रहा है। मैंने कोशिश की- डीएक्सएसएस विकल्प, लेकिन एक ही त्रुटि फेंक दिया। –
सहमत हुए, मुझे लगता है कि आईओ मोनैड कुछ चुनौती जोड़ता है। – huynhjl