小编Las*_*asf的帖子

对Cats Effect IO进行认真评估并忘记行为

我正在将Future代码转换为IO。我有类似的代码

def doSomething: Future[Foo] = {
  Future { 
    //some code the result of which we don't care about 
  }
  Future {
    //Foo
  }
}
Run Code Online (Sandbox Code Playgroud)

然后在程序结束时,我doSomething.unsafeRunSync。我如何将这些Futures 转换为IOs,同时保持第一个的即发即弃功能Future?在使用IO的异步API,我担心发生意外拦截时,我再打线程unsafeRunSyncdoSomething

scala scala-cats

3
推荐指数
1
解决办法
677
查看次数

Typescript:找不到“bin”、“src”、“test”的类型定义文件

我是前端新手,而且可能很笨。但是,简而言之,如果我这样做

yarn add @mapbox/polyline
Run Code Online (Sandbox Code Playgroud)

当我执行以下操作时,我突然收到各种有用的错误,例如yarn start

undefined
TypeScript error in undefined(undefined,undefined):
Cannot find type definition file for 'bin'.  TS2688

undefined
TypeScript error in undefined(undefined,undefined):
Cannot find type definition file for 'src'.  TS2688

index.js:1 undefined
TypeScript error in undefined(undefined,undefined):
Cannot find type definition file for 'test'.  TS2688
Run Code Online (Sandbox Code Playgroud)

嗯不错。所以我已经彻底破坏了这个 ( git) 分支(曾经在那里!),所以让我们切换回工作master分支......但yarn start现在会产生相同的错误master!就好像仅仅打字的行为yarn add @mapbox/polyline就会在本地严重损坏某些东西,以至于无法恢复。我最终不得不再次克隆我的存储库并重新开始。

(因为我使用的是 Typescript,所以我也尝试添加类型yarn add @types/mapbox__polyline......这并不能减轻我的痛苦。)

知道如何解决这个问题吗?

typescript reactjs webpack yarnpkg

3
推荐指数
1
解决办法
1807
查看次数

如何简化布尔元素的foldLeft操作?

我使用此方法来确定字符串是否全部为大写.

def isAllUpperCase(s: String): Boolean = 
  s.foldLeft(true)((res, ch) => res && ch.isUpper)
Run Code Online (Sandbox Code Playgroud)

IntelliJ警告可以简化对集合的此操作.可悲的是,我是斯卡拉诺布.有任何想法吗?

scala scala-2.10

2
推荐指数
1
解决办法
270
查看次数

Scala中的Json.parse(),Json.toJson()和Json.stringify()有什么区别?

play.api.libs.json.{JsValue, Json}在Scala中使用模块时,Json.parse(),Json.toJson()和Json.stringify()有什么区别?

json scala playframework

2
推荐指数
1
解决办法
118
查看次数

如何比较通用枚举值?

我正在尝试为Scala Enumeration值编写一个通用的max方法。我有

def enumMax[E <: Enumeration, V <: E#Value](v1: V, v2: V): V = v1.compare(v2) match {
  case x if x > 0 => v1
  case x if x < 0 => v2
  case _ => v1
}
Run Code Online (Sandbox Code Playgroud)

但我收到了相当神秘的错误消息

[error] overloaded method value compare with alternatives:
[error]   ((that: _1.Value)Int) forSome { val _1: E } <and>
[error]   (that: _1.Value)Int
[error]  cannot be applied to (V)
[error]   def enumMax[E <: Enumeration, V <: E#Value](v1: V, v2: V): V = v1.compare(v2) …
Run Code Online (Sandbox Code Playgroud)

scala scala-2.12

2
推荐指数
1
解决办法
76
查看次数

Doobie通过ConnectionIO程序列表进行事务处理

假设我有一个Doobie程序列表(全部带有Unit类型参数,fwiw):

val progList: List[ConnectionIO[Unit]] = prog1 :: prog2 :: ... :: Nil
Run Code Online (Sandbox Code Playgroud)

我有什么办法可以在一个事务中运行它们?理解在这里行不通,因为我只知道运行时程序列表的确切组成。基本上,我想我应该将它们折叠在一起。

我想这个问题通常适用于Cats中的Free Monad,因此我也将Cats标记为。谢谢。

scala scala-cats doobie

1
推荐指数
1
解决办法
384
查看次数

How to use literal type in Scala 2.13

I'm trying Literal Types from Scala 2.13 and I encounter the following error :

scala> def double[A <: Singleton] = valueOf[A]
                                           ^
       error: No singleton value available for A.
Run Code Online (Sandbox Code Playgroud)

Could you explain why ?

scala scala-2.13

1
推荐指数
1
解决办法
356
查看次数