小编cou*_*ech的帖子

scala为yield设置一个值

我想创建一个列表GridBagPanel.Constraints.我在scala编程书中看到它有一个很酷的for-yield结构,但我可能还没有理解它正常工作的方式,因为我的代码没有编译.这里是:

        val d = for {
            i <- 0 until 4
            j <- 0 until 4
        } yield {
            c = new Constraints
            c.gridx = j
            c.gridy = i
        }
Run Code Online (Sandbox Code Playgroud)

我想生成一个List[Constraints]并为每个约束设置不同的x,y值以便稍后,当我稍后添加组件时,它们将在网格中.

swing scala yield-keyword

3
推荐指数
1
解决办法
1236
查看次数

重新定义c ++

包含在c ++中的头文件如何工作?我已经在.h文件中实现了类,当有#include两个文件时,出现此错误:

files.h:14:7: error: redefinition of ‘class abstract_file’
files.h:14:20: error: previous definition of ‘class abstract_file’`
Run Code Online (Sandbox Code Playgroud)

每个类和枚举多次.有谁能解释一下?

c++ header

3
推荐指数
2
解决办法
4021
查看次数

提升Shtml.link

为什么Lift的SHtml.link方法只接受NodeSeq一个参数?当我想创建链接<a>Something</a>而不是嵌套链接时,我该怎么办?我怎么可以把StringNodeSeq

scala lift

3
推荐指数
1
解决办法
726
查看次数

点读者monad scala

有没有办法,如何pointReader上下文中轻松获得价值?
我可以使用Readerobject并忽略上下文:

Reader {
  _ ? 3
}
Run Code Online (Sandbox Code Playgroud) Scalaz似乎有一种point具体的方法.我知道,这是定义的Applicative.我想,有一些技巧,如何将值放入Reader上下文中.

scala scalaz scalaz7

3
推荐指数
1
解决办法
251
查看次数

Fay JQuery使用元素数组

什么是首选方法,如何计算选择器选择的元素数量?

我能想到的一种方法是调用JQuery size:

size :: JQuery -> Fay Int
size = ffi "%1['size']()"
Run Code Online (Sandbox Code Playgroud)

另一种方法是从函数调用中获取列表,然后计算元素.检索元素的函数类型可能是:

elems :: JQuery -> Fay [Elem]
Run Code Online (Sandbox Code Playgroud)

有谁知道,如何实现它?如何描述javascript类型和haskell类型之间的映射?

jquery fay

3
推荐指数
1
解决办法
318
查看次数

太急于推断ocaml可选函数参数

考虑以下代码:

let myFun
  ?(f: ('a -> int) = (fun x -> x))
  (x: 'a)
    : int =
  f x
Run Code Online (Sandbox Code Playgroud)

看起来我不能用另一个参数调用int.当我尝试使用此代码时:

let usage = myFun ~f:String.length "abcdef"
Run Code Online (Sandbox Code Playgroud)

Ocaml发出以下错误消息:

Error: This expression has type string -> int
       but an expression was expected of type int -> int
       Type string is not compatible with type int 
Run Code Online (Sandbox Code Playgroud)

看起来推理会'a = int因为默认参数而思考.这是语言的限制,还是有一种方法来编写它以便编译?

ocaml

3
推荐指数
2
解决办法
152
查看次数

类型注释被推断的表达式类型覆盖

在 scala 编程语言中,鉴于我将用更广泛的类型注释表达式并提供一个狭窄的值,我的程序被拒绝:

scala> def x[A](): A = 8 
<console>:11: error: type mismatch;
found   : Int(8)
required: A
      def x[A]() = 8: A
Run Code Online (Sandbox Code Playgroud)

而在 ocaml 中,当我做同样的事情时,程序被接受,但表达式的类型注释被更窄的表达式类型覆盖。

utop # let x (): 'a = 8 ;;
val x : unit -> int = <fun>
Run Code Online (Sandbox Code Playgroud)

这些类型系统之间的区别是什么,导致的情况是,在一种情况下程序被拒绝,而在另一种情况下它被接受?

ocaml types scala

3
推荐指数
1
解决办法
106
查看次数

签名输出运算符重载

你知道吗,如何在C++中为operator << for template class写一个函数或方法的签名?我想要的东西:


template <class A> class MyClass{
  public:
    friend ostream & operator<<(ostream & os, MyClass<A> mc);
}
ostream & operator<<(ostream & os, MyClass<A> mc){
  // some code
  return os;
}
但这只是不会编译.有谁知道,怎么写得正确?

c++ templates operator-overloading

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

Scala型证据

在scala源代码中我可以看到这段代码:

@implicitNotFound(msg = "Cannot prove that ${From} <:< ${To}.")
sealed abstract class <:<[-From, +To] extends (From => To) with Serializable
private[this] final val singleton_<:< = new <:<[Any,Any] { def apply(x: Any): Any = x }
// not in the <:< companion object because it is also
// intended to subsume identity (which is no longer implicit)
implicit def conforms[A]: A <:< A = singleton_<:<.asInstanceOf[A <:< A]

@implicitNotFound(msg = "Cannot prove that ${From} =:= ${To}.")
sealed abstract class =:=[From, To] extends …
Run Code Online (Sandbox Code Playgroud)

types scala

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

mysql多个group_concat命令保存

假设我有一张表格mytable:

select * from mytable:

+------+------+------+ | a | b | c | +------+------+------+ | 1 | 1 | a | | 1 | 2 | b | +------+------+------+ 我想用功能将bc列分组group_concat:

select a, group_concat(b), group_concat(c) from mytable group by a

+------+-----------------+-----------------+ | a | group_concat(b) | group_concat(c) | +------+-----------------+-----------------+ | 1 | 1,2 | a,b | +------+-----------------+-----------------+ 我的问题是,执行mysql的保证,那group_concat将永远以同样的顺序,我不会得到这样的结果,1,2在第二列和B,A在第三列?

mysql sql group-by group-concat

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