首页 > 解决方案 > 如何调用包装在 TaskKey 中的函数?

问题描述

我有一个TaskKey[String => String]并且想在提供的字符串上应用该函数。我正在尝试使用字符串“foo”进行以下操作:

val x = Project.extract(state)
import x._
val task: TaskKey[String => String] = ...
val taskFunc = task in currentRef get structure.data // Option[Task[String => String]]
val taskValue = taskFunc.map(_.value.apply("foo")).getOrElse("foo") // String

由于调用_.value.

标签: scalasbt

解决方案


除非在另一个任务中,否则您不能这样做。

someOtherTaskKey := {
  functionTaskKey.value.apply("foo")
}

推荐阅读