小编Bla*_*ade的帖子

不明白Scala分隔连续的输入(A @cpsParam [B,C])

我竭力要了解准确意思,当值的类型A @cpsParam[B,C]和使用分隔延续设施时,我应该分配给我的价值观是什么类型的这种形式.

我看过一些消息来源:

http://lamp.epfl.ch/~rompf/continuations-icfp09.pdf

http://www.scala-lang.org/node/2096

http://dcsobral.blogspot.com/2009/07/delimited-continuations-explained-in.html

http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html

但他们没有给我很多直觉.在最后一个链接中,作者试图给出明确的解释,但无论如何还不够明确.

这里的A代表计算的输出,它也是其继续的输入.在B表示延续的返回类型,而C表示其"最终"返回类型-因为移可以做进一步的处理,以返回值,并改变其类型.

我不明白"计算的输出","延续的返回类型"和"延续的最终返回类型"之间的区别.他们听起来像同义词.

continuations types functional-programming scala scala-2.8

22
推荐指数
1
解决办法
1351
查看次数

在Java应用程序运行时定义类

在Java中,是否可以在应用程序运行时动态创建类定义,然后创建该类的对象?

例如,正在运行的应用程序将读入一个文本文件,该文件包含要包含在新类中的类成员列表.然后,应用程序将根据成员列表定义类定义,然后对其进行实例化.

java runtime-compilation on-the-fly

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

在过去的7到8年中,对C++编程的最大影响是什么?

我开始用C++编程.这是我的第一语言,但多年来我没有用过它.

C++世界的新发展是什么?什么是大事 - 技术,书籍,框架,图书馆等?

在过去的7到8年中,对C++编程的最大影响是什么?

也许我们可以为每个帖子做一个影响力,这样我们就可以对它们进行投票.

c++

13
推荐指数
5
解决办法
1598
查看次数

NHibernate:如何在数据库的单次往返中执行许多子孙(对象图)的热切子选择?

首先,请不要试图争论我做出的热切负载 - 遍历对象图并导致(通过延迟加载)甚至超过一次往返数据库只是不是一种选择.

我有一个大的对象图.我想获取根对象,以及它的子,孙子,曾孙等的子集.目前我通过创建多个Future对象(使用Criteria)来执行此操作,并且在每个对象中,我这样做SetFetchMode("...", FetchMode.Eager)- 请参阅Ayende的帖子Sam的第3条评论在这里.有两个问题:

  1. NHibernate在同一个往返中执行多个选择查询 - 从根到叶子(A.B.C.D)的每个路径一个,这很好,但使用join而不是subselect我真正想要它做的事情.使用join意味着需要从数据库发送大量数据,需要进行解析,并且nhibernate需要做更多的工作而不是必要的.

  2. 问题1的结果 - 在某些情况下,对象的重复嵌套多于一层.

第二个问题我通过将我的集合设置为Set来"解决",但后来我失去了排序能力 - 因为我必须指定ISet为接口,我的代码无法知道该集合是否真的是一个OrderedSet.

有没有人知道如何执行,在一次往返,急切加载一个对象加上几个深层嵌套的集合,但不使用连接?

我非常感激!我已经在网上搜索了答案,显然我不是第一个打到这堵墙的人.

nhibernate subquery eager-loading

13
推荐指数
1
解决办法
2469
查看次数

为什么案例类只扩展Product而不扩展Product1,Product2,...,ProductN?

在我了解到案例类扩展Product之后,我想知道他们为什么不扩展ProductN.例如,给出如下代码:

case class Foo(a: Int)
Run Code Online (Sandbox Code Playgroud)

我期望Foo(1).asInstanceOf[Product1[Int]]工作,但它没有(使用Scala 2.9.1检查,并通过其他来源和Product文档确认).

我对此感兴趣,因为我想声明如下的类:

abstract class UnaryOp[T1 <: Exp[_], R](t1: T1) extends Exp[R] {
  this: Product1[T1] =>
}
Run Code Online (Sandbox Code Playgroud)

这样,一元操作的节点必须实现Product1.如果只是一个带有一个参数的case类就足够了.

scala scala-2.9

13
推荐指数
1
解决办法
2029
查看次数

Scala是否有相当于ML的"as"结构的声明?

在ML中,可以为匹配模式的每个元素指定名称:

fun findPair n nil = NONE
| findPair n (head as (n1, _))::rest =
    if n = n1 then (SOME head) else (findPair n rest)
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我为第一对列表定义了一个别名,并匹配了该对的内容.Scala中是否有等效的构造?

scala sml pattern-matching

9
推荐指数
1
解决办法
372
查看次数

从'const char*'到'char*'的无效转换[-fpermissive]

int ::  cadena calculatelenght(const cadena& a, const char* cad)
{
    cadena c;
    int lenght = 0;
    char* punt; punt = cad;
    while(*punt){
        lenght++; punt++;
    }
    return lenght;
}
Run Code Online (Sandbox Code Playgroud)

我有这个问题,我想计算一个C字符串的长度而不使用像strlen我这样的cadena类的其他方法,因为它不是const char*,但现在我不知道该怎么做.

c c++ string

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

Coq引理语句中的定义与命题相等

在Coq(CPDT样式)证明中编写高度自动化的证明时,在广泛使用的基础上eauto N,我必须经常修改我的引理语句以便eauto容易地使用它们.特别是,我必须用形式(2)替换形式(1)forall vars, P (f args)...(在P论文或假设中出现)的陈述forall x args, x = f args -> P x -> ....使用表单(2),eauto可以x根据需要实例化适当的表达式e(通过统一找到),并e = f args通过其通常的证明搜索单独证明.相反,由于形式(1)有必要重写e = f args证明,一些IIUC期间eauto不会做(除非使用专用Hint Extern).

是否有更好的现有策略来实现相同的结果,这种风格可能是自动化的?我所看到的最接近的是applys_eq软件基础的LibTactics中的策略,它允许在形式(1)中应用引理,但e = f args作为单独的目标; 但是,这种策略需要完全手动规范.

我明白我的要求可能太难或太慢; 知道这是一种合理的方法将有助于停止寻找并继续下去.我听说至少有一位经验丰富的Coq用户描述了同样的问题和相同的方法.

coq coq-tactic

7
推荐指数
0
解决办法
188
查看次数

Android初学者:onDestroy

在覆盖活动的ondestroy时,我应该在super.onDestroy()之前或之后放置命令吗?

protected void onDestroy() {

    //option 1: callback before or ...

    super.onDestroy();

    //option 2: callback after super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)

(现在我担心:如果super.onDestroy太快,它将永远不会到达选项2.)

android destroy android-lifecycle

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

为类的 __init__ 方法编写单元测试

我对单元测试和编写/使用异常很陌生。我目前正在努力学习最佳实践并将它们集成到我的项目中。为了测试我一直在阅读的一些内容,我编写了一个简单的 Contracts 模块。下面是合约类的初始化,它有几个相互依赖的参数。

我将/应该如何根据其参数依赖性为 init 方法编写测试。

提前致谢!

def __init__(self, code, description ,contract_type,
             start_date ,end_date ,reminder_date, 
             customer=None, isgroup=False, vendor=None, 
             discount_perc=None):

    contract_types = ['item','vendor']
    self.code = code
    self.description = description
    self.contract_type = contract_type
    self.start_date = start_date
    self.end_date = end_date
    self.reminder_date = reminder_date
    if contract_type not in contract_types:
        raise AttributeError("Valid contract types are 'item' & 'vendor'")
    if isgroup:
        if customer:
            raise AttributeError("Group contracts should not have 'customer' passed in")
        self.is_group_contract = True
    else:
        if customer:
            self.add_customer(customer)
        else:
            raise AttributeError('Customer required for non group …
Run Code Online (Sandbox Code Playgroud)

python unit-testing nose

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

标准库的SBT Scaladoc配置

我想将ScalaDoc设置为从SBT链接到标准库.我正在使用0.12.4,但我很快就会切换到0.13.此外,我想通过使用0.13的支持使设置变得简单.

最好的选择是自动映射0.13autoAPIMappings:

//Requires SBT 0.13. However, automatic mapping does not work for the standard library.
autoAPIMappings := true
Run Code Online (Sandbox Code Playgroud)

scala-library应该支持它,因为它的POMinfo.apiURL,并且这就是SBT读取.

但是,这不起作用.既没有String也没有GenTraversable超链接.last表明没有选项添加到scaladoc参数.

所以:

  1. 我该怎么autoAPIMappings办?
  2. 有替代品吗?
  3. 我没有观察到这个功能有效,但也许我只需要另一个套装info.apiUrl.想到任何包裹?谷歌似乎没有帮助,如何查询具有某些属性的maven包,甚至如何在poms上进行全文搜索并不明显.find ~/.m2 ~/.ivy2 -name '*.pom' -type f|xargs grep info.apiUrl在我的2G本地缓存中找不到任何结果.

(这个问题似乎是SBT Scaladoc配置的重复,但是它用于更新配置和不同的SBT版本,所以问题是不同的;此外,现有的答案显示了一个弃​​用的解决方案).

scala sbt scaladoc

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