Scala 这是怎么回事;类型不匹配“;?

Scala 这是怎么回事;类型不匹配“;?,scala,scalaquery,Scala,Scalaquery,相关代码: found : (Int, String, Option[java.lang.String]) required: (Int, String, Option[java.lang.String]) 最终目标是,我希望所有选定的列都转换为具有命名访问器的对象,而不是元组 type T = (Int, String, Option[String]) 更新: 下面是问题的一个例子(从上面的代码中稍微简化了一些,并通过仅使用Int消除了任何字符串/java.lang.String“

相关代码:

found   : (Int, String, Option[java.lang.String])
required: (Int, String, Option[java.lang.String])
最终目标是,我希望所有选定的列都转换为具有命名访问器的对象,而不是元组

  type T = (Int, String, Option[String])
更新:


下面是问题的一个例子(从上面的代码中稍微简化了一些,并通过仅使用Int消除了任何字符串/java.lang.String“混淆”)

错误消息没有用来告诉您哪个是元组,尽管我认为这在某种程度上有所改进。一个元组和n个参数之间不匹配。或者不是

结果见2.9.2。我注意到你的.sbt使用了2.9.1 scalaquery,以防万一。scala-tools.org不是过时了吗?对不起,我帮了你一半

作为非用户,Projection2似乎不是您所寻求的元组,尽管它是一个产品:

Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_07).
答复:

class Projection2 [T1, T2] extends (Column[T1], Column[T2]) with Projection[(T1, T2)] 
scala>M.column[Int](“id”)~M.column[Int](“n”)
res1:(Int,Int)=项目2
scala>M(res1)
:23:错误:类型不匹配;
发现:(Int,Int)
必需:(Int,Int)
M(res1)
^
scala>M.apply
定义应用(v:(Int,Int)):Int
scala>M.apply((1,2))
res3:Int=1

谢谢!事实上,这是我需要的一个投影。我陷入了错误的混乱中,认为它甚至不是一个元组,只是使用了RePL。谢谢你抓住了我的其他矛盾之处。
class Projection2 [T1, T2] extends (Column[T1], Column[T2]) with Projection[(T1, T2)] 
scala> M.column[Int]("id") ~ M.column[Int]("n")
res1: (Int, Int) = Projection2

scala> M(res1)
<console>:23: error: type mismatch;
 found   : (Int, Int)
 required: (Int, Int)
              M(res1)
                ^

scala> M.apply
                                def apply(v: (Int, Int)): Int   

scala> M.apply((1,2))
res3: Int = 1