小编use*_*187的帖子

Scala集合中是否提供循环/循环队列

Scala集合中是否提供循环队列?

我需要重复迭代一个循环自己的列表

val x = new CircularList(1,2,3,4)
x.next (returns 1)
x.next (returns 2)
x.next (returns 3)
x.next (returns 4)
x.next (returns 1)
x.next (returns 2)
x.next (returns 3)
Run Code Online (Sandbox Code Playgroud)

... 等等

scala scala-collections scala-2.10

21
推荐指数
2
解决办法
5266
查看次数

Golang方法集(指针与值接收器)

我很难理解为什么这些规则与指针类型.vs的方法集相关联.值类型

有人可以解释一下原因(从界面表的角度来看)

(William Kennedy博客的片段)

Values          Methods Receivers
-----------------------------------------------
T               (t T)
*T              (t T) and (t *T)

Methods Receivers    Values
-----------------------------------------------
(t T)                 T and *T
(t *T)                *T
Run Code Online (Sandbox Code Playgroud)

来自规范的片段

方法集

类型可以具有与其关联的方法集.接口类型的方法集是其接口.任何其他类型T的方法集由用接收器类型T声明的所有方法组成.相应指针类型*T的方法集是用receiver*T或T声明的所有方法的集合(也就是说,它还包含方法一套T).其他规则适用于包含匿名字段的结构,如结构类型一节中所述.任何其他类型都有一个空方法集.在方法集中,每个方法必须具有唯一的非空方法名称.

类型的方法集确定类型实现的接口以及可以使用该类型的接收器调用的方法.

go

5
推荐指数
2
解决办法
2501
查看次数

矢量任何无形的HList

有没有办法将Any类型的矢量转换为无形HList(productelement)

val frame = Vector(Vector(1,"a","b",false),Vector(2,"y","z",false),Vector(3,"p","q",true))

frame.map(_.hlisted) or frame.map(_.productElements)
Run Code Online (Sandbox Code Playgroud)

我试图转换为以下结构

List[Int :: String :: String :: Boolean :: HNil](1 :: a :: b :: false :: HNil, 2 :: y :: z :: false :: HNil, 3 :: p :: q :: true :: HNil)
Run Code Online (Sandbox Code Playgroud)

基于Shapless Migration指南,可以使用Typed Tuples

https://github.com/milessabin/shapeless/wiki/Migration-guide:-shapeless-1.2.4-to-2.0.0#productelements-is-the-new-name-for-hlisted

import shapeless._
import syntax.std.product._  // New import

scala> (23, "foo", true).productElements // was '.hlisted'
res0: Int :: String :: HNil = 23 :: foo :: true :: HNil
Run Code Online (Sandbox Code Playgroud)

这是可能的非类型向量或矢量 - >类型元组 - …

scala scalaz scala-collections scala-2.10 shapeless

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

将Vector转换为元组scala

是否有可能将异构向量的向量转换为Scala中的Tuple3列表

Vector(Vector(1,"a","b"),Vector(2,"b","c")) to List(Tuple3(1,"a","b"),Tuple3(2,"b","c"))
Run Code Online (Sandbox Code Playgroud)

scala scala-collections scala-2.10 scalaz7

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

标签 统计

scala ×3

scala-2.10 ×3

scala-collections ×3

go ×1

scalaz ×1

scalaz7 ×1

shapeless ×1