- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Aux 模式(在 shapeless 和其他地方使用)有一些了解,其中将类型成员提取到类型参数中,并且我知道这是一种解决方法,即同一参数列表中的参数不能依赖彼此 - 但我一般不清楚它的用途和解决什么问题。
例如,我目前正试图弄清楚如何保留和使用白盒宏返回的更具体的类型——这是 Aux 的用例吗?
有简单的说明吗?
最佳答案
简单地说,这种模式可以让您在两个泛型类型参数之间建立关系。
让我们来看看无形的'LabelledGeneric
类型类,它给你一个通用的 HList
案例类的表示:
trait LabelledGeneric[T] {
type Repr
}
T
是输入类型,即
LabelledGeneric[MyCaseClass]
将为您提供
MyCaseClass
的 HList 表示.
Repr
是输出类型,即
T
对应的HList类型.
Generic
的方法实例并需要输出类型的另一个参数。例如我们可以使用
Keys
收集标记泛型的字段名称
def fieldNames[T](implicit gen: LabelledGeneric[T], keys: Keys[gen.Repr]): keys.Repr …
gen
或
keys
这里。我们可以有一个具体的类型或一个类型变量。
gen.Repr
成一个类型变量:
object Generic {
type Aux[T, Repr0] = Generic[T] { type Repr = Repr0 }
}
Aux
type 为我们提供了一条来自
Repr
的方法到一个类型变量,所以我们最终可以定义
foo
:
def foo[T, Repr, K](
implicit gen: LabelledGeneric.Aux[T, Repr],
keys: Keys.Aux[Repr, K]
): K …
Repr
是标签为 T 的通用表示,而 Keys.Aux 证明 K 是 Repr 的所有键的列表”。
关于scala - Aux 模式在 Scala 中完成了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38541271/
我正在尝试从 Windows 7 上的 JDK 7u25 中使用 jar.exe 提取包含名为 aux.class 的文件的 .jar 的内容。 jar.exe xf C:\Path\to\file.
这似乎是一个愚蠢的问题,但我一直无法找到明确的答案。 This website指出破折号是可选的 ps aux 然而,ps aux有效但 ps -aux出现错误 no user named 'x' .
我有一个 bash 脚本 (ScreamDaemon.sh),在其中添加了检查它的示例是否已经运行的检查。 numscr=`ps aux | grep ScreamDaemon.sh | wc -l`
我有一个 bash 脚本 (ScreamDaemon.sh),在其中添加了检查它的示例是否已经运行的检查。 numscr=`ps aux | grep ScreamDaemon.sh | wc -l`
我刚刚在 Windows 8.1 上遇到了一个非常奇怪的错误。 我似乎无法创建名为 Aux 的文件夹或从 Aux. 开始. 我在每个磁盘上都尝试过,但每次都收到以下消息:Le nom du périp
在Windows上Cygwin制作一些程序给出 libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libto
这是一个源自 AUX 的问题模式。 这样定义特征有什么好处: trait Unwrap[T[_], R] { type Out def apply(tr: T[R]): Out } 反对这
我很确定我在这里遗漏了一些东西,因为我对 Shapeless 还很陌生并且我正在学习,但是 Aux 技术实际上什么时候开始需要 ?我看到它是用来暴露一个 type通过将其提升为另一个“同伴”的签名来声
运行 ps aux返回: USER 131 2.1 0.1 23423 423 FFF/5 R 10:12 0:00 -bash USER 131 2.1 0.
我想了解如何 Generic有效(还有 TypeClass)。 github wiki 在示例和文档上非常稀少。是否有规范的博客文章/文档页面描述 Generic和 TypeClass详细? 具体来说
在 VS2012 中似乎无法创建名为“Aux”的项目文件夹。如果您尝试在项目中添加一个文件夹并将其命名为“Aux”,则会出现一条错误消息,指出该文件夹名称不能包含 ;*?|"<>哦 你遇到过同样的情况
for i in `ps aux | grep /usr/bin/x2goruncommand | awk '{print $1,$13;}'`; do server=`echo $i | cut -
我有一个系统脚本,它运行并将“ps aux | grep utilities”的结果通过管道传输到一个文本文件,并对文本文件进行 chown,以便网络服务可以读取该文件并在我的网络应用程序中显示结果。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
这个问题在这里已经有了答案: Windows and renaming folders, the 'con' issue [closed] (5 个答案) 关闭 6 年前。 在尝试写入文件名为“au
我想知道这种将 ps aux 放入数组然后在网络上显示的安全方法吗?或者可以做些什么来改进它? 例子: PID CPU Mem
所以我试图找到其中包含“控制”一词的任何进程的 PID。我在 Linux 上使用 ruby 。这是目前为止的基本代码 `ps aux | grep control` 如果我在 ruby 中运行它,
当我执行“ps aux”时,很多行都比我的终端宽度长,而且没有换行到下一行。起初我以为这是我的 stty 设置,但我注意到 netstat 等其他命令在我的终端中换行。我宁愿不要被迫使用 less 或
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我对 Aux 模式(在 shapeless 和其他地方使用)有一些了解,其中将类型成员提取到类型参数中,并且我知道这是一种解决方法,即同一参数列表中的参数不能依赖彼此 - 但我一般不清楚它的用途和解决
我是一名优秀的程序员,十分优秀!