Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package src.main.scala.createSQLPackage
- import cats._
- import cats.Applicative._
- import cats.syntax.all._
- import cats.syntax.functor._
- import cats.syntax.applicative._
- import cats.effect.{IO, Fiber} //OK
- import cats.effect.kernel.Outcome //OK
- import cats.kernel.Monoid
- import cats.effect.syntax.all._
- import cats.syntax.all._ //OK
- import cats.Applicative //OK
- import cats.kernel.Semigroup //OK
- import cats.kernel.Monoid //OK
- //import cats.effect.IO;
- import src.main.scala.computeMD5Package;
- import cats.effect.unsafe.implicits.global
- object createSQL {
- def setSQL(listaFibers : List[IO[Fiber[IO, Throwable, String]]],
- timeMarkFiber : IO[Fiber[IO, Throwable, String]],
- volume : IO[Int]) : IO[String] = {
- val dummyIOstring : IO[String] = IO("");
- //Sviluppo alcuni test
- val listaTest : List[IO[String]] = List.empty[IO[String]] :+ IO("Primo") :+ IO("Secondo") :+ IO("Terzo");
- val testTrasformazione : IO[String] => IO[String] = item => item;
- val listaOut : IO[List[String]] = listaTest.traverse(testTrasformazione);
- //Ciò che devo fare ora, è trovare una funzione che faccia questa trasformazione:
- //IO[List[String]] => IO[String]
- def concatenaSQLstring(lista : List[String]) : String = {
- val dummyOut : String = "dummyOutput";
- return dummyOut;
- }
- val concatenaSQLstringValue : List[String] => String = item => concatenaSQLstring(item);
- val outApplicative : IO[List[String] => String] = IO(concatenaSQLstringValue);
- //val outSQLString : IO[String] = listaOut.ap(outApplicative);
- val outSQLString : IO[String] = cats.Applicative.ap(outApplicative)(listaOut); //<- QUI SOLLEVA ERRORE
- val listaTest2 : List[String] = List.empty[String] :+ "Uno" :+ "Due" :+ "Tre";
- val foldOut = listaTest2.foldLeft(Monoid.empty[String])((accumulatore : String,
- iteratore : String) => {
- accumulatore.
- combine("-").
- combine(iteratore)
- }
- );
- println("Sono nella create string. la foldOut vale: " + foldOut.toString);
- return dummyIOstring;
- }//Chiude la def setSQL
- }//Chiude la object createSQL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement