小编Ano*_*ous的帖子

是否有可能在Scala中找到类型系统级别的常见超类型?

是否有可能在Scala中创建一个类型别名(或类似的东西),它接受两个参数并返回它们的常见超类型?换句话说,我正在尝试使用此签名找到一些东西:

type CommonSupertype[A, B] // can't be more specific
Run Code Online (Sandbox Code Playgroud)

这些都适用:(伪代码)

CommonSupertype[String, Int] = Any
CommonSupertype[JButton, JPanel] = JComponent
Run Code Online (Sandbox Code Playgroud)

等等

我自己无法找到它,但我不能使用其他替代参数,因为我必须遵循预先指定的接口.

types scala

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

scala的解析器组合器可以解析二进制文件吗?

内置的scala解析器组合器可以解析二进制(而不是文本)文件吗?

binary parsing scala

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

是否存在像流这样的数据结构,但是很弱?

在弱引用中弱.基本上,我需要一系列数字,其中一些数字可以在不再需要时分配.

scala list stream

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

在scala解析器组合器中回溯?

似乎scala的解析器组合器不会回溯.我有一个语法(见底部),无法正确解析以下"stmt":

copy in to out .
Run Code Online (Sandbox Code Playgroud)

这应该很容易用回溯解析:

stmt: (to out(copy in))
Run Code Online (Sandbox Code Playgroud)

还是我错过了什么?

分析器:

type ExprP = Parser[Expr]
type ValueP = Parser[ValExpr]
type CallP = Parser[Call]
type ArgsP = Parser[Seq[Expr]]

val ident     = "[a-zA-Z\\+\\-\\*/%><\\\\\\=]+".r
val sqstart   = "\\["                          .r
val sqend     = "\\]"                          .r
val del       = ","                            .r
val end       = "\\."                          .r

def stmt: ExprP      = expr <~ end
def expr: ExprP      = ucall | call | value
def value: ValueP    = ident ^^ {str => IdentExpr(str)}
def call: …
Run Code Online (Sandbox Code Playgroud)

parsing scala combinators backtracking optional

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

如何使用CSS删除chrome中链接的下划线?

(它在FF中工作)我如何使用CSS删除访问链接的下划线?我试过了:

a:visited {
    color: rgb(255, 255, 255);
    text-decoration: none !important;
}
Run Code Online (Sandbox Code Playgroud)

a:visited {
    color: rgb(255, 255, 255);
    text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)

css google-chrome hyperlink underline

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