问题列表 - 第40611页

解决脆弱模式匹配的建议

我经常需要匹配应该具有相同构造函数的元组元组.最后,笼子_,_总是炙手可热.这当然是脆弱的,添加到该类型的任何其他构造函数将完全编译.我目前的想法是连接第一个但不是第二个参数的匹配.但是,还有其他选择吗?

例如,

type data = | States of int array 
            | Chars  of (char list) array

let median a b = match a,b with
    | States xs, States ys ->
        assert( (Array.length xs) = (Array.length ys) );
        States (Array.init (Array.length xs) (fun i -> xs.(i) lor ys.(i)))
    | Chars xs, Chars ys -> 
        assert( (Array.length xs) = (Array.length ys) );
        let union c1 c2 = (List.filter (fun x -> not (List.mem x c2)) c1) @ c2 in
        Chars …
Run Code Online (Sandbox Code Playgroud)

ocaml functional-programming pattern-matching

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

学习Windows/C++程序员的常见Lisp技巧

我是一位经验丰富的C++/.NET/Java Windows/Web程序员,正在尝试学习(Common)Lisp.我正在阅读Practical Common Lisp并使用SLIME.

我很容易获得Lisp语言,但是我很难理解开发的机制.我的一个问题是处理Emacs.我没有经验,发现它一般令人困惑,很难找到/弄清楚命令.

具体问题:

  • 我得到了REPL,但我不知道如何有效地使用它.当我需要更改一个函数时,我必须重新键入defun并进行更改(繁琐且容易出错).我怎么能做得更好?
  • 如何从REPL中输入代码到实际拥有程序?我已经习惯了C模型,你可以在那里查看,编辑和重新编译代码文件.我知道Lisp有类似的东西(通过加载函数),但是如何获得我刚刚定义并测试到要保存的文件的函数?我希望有一种比我目前的选择+复制+粘贴更好的方法.
  • 你如何调试错误?是否有能力像其他语言一样进入代码?
  • 只要S表达式有效,输入时我就不会出现任何错误(defun ...).直到我尝试使用它,我发现它无效.有没有办法尽快得到错误(即编译代码)?
  • 是否有一些IDE对我更熟悉或允许我更容易使用该语言?
  • 我应该改用学习计划吗?

任何提示将非常感谢!

lisp emacs slime

7
推荐指数
1
解决办法
620
查看次数

是否可以在多个gpus上运行cuda内核

这是一个相当简单的问题,但谷歌搜索似乎没有答案,所以.

我想知道的是,如果我有两个能够运行cuda的gpu卡(相同),我的内核可以跨越这些卡吗?或者是一张卡还是另一张卡?即,cuda提供了整套可用的gpu核心,或者只是运行在卡上的那些核心.

如果是这样,为了实现它,我需要知道什么特别的事情吗?除了值得了解的cuda sdk之外还有什么例子吗?

目标语言当然是C/C++.

提前致谢.

c c++ cuda multiple-gpu

7
推荐指数
1
解决办法
3668
查看次数

断言在模拟上没有调用任何方法

我正在使用Flexmock模拟框架用Rspec2编写测试.我希望我的一种方法可以缓存结果,并希望用我的模拟验证这一点.

describe SomeClass do
  before do
    @mock = flexmock()
  end

  after do
    @mock.flexmock_verify()
  end

  it "method caches results"
    c = SomeClass.new(@mock)
    c.method
    @mock.should_receive(:expensive_method).never
    c.method.should == ['A']
  end
end
Run Code Online (Sandbox Code Playgroud)

如果我想确保:expensive_method永远不会被调用,这种方法很有效.但是,我希望我的类能够在:method不调用传入(模拟)类的情况下执行任何操作.有没有办法表达这个?

背景:在我的例子中,注入的类执行昂贵的操作,因此应该为相同的查询缓存结果.

更新
感谢到目前为止的建议,也许我只是假设错误或者我想要的甚至没有意义.我实现缓存的方法是将一个类变量放入SomeClass并添加到:method:

def SomeClass
  @@cache_map = {}

  def method
    # extract key
    return @@cache_map[key] if @@cache_map.has_key?(key)
    # call :expensive_method to get result
    @@cache_map[key] = result
    return result
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,为了测试正确的缓存,我必须:extensive_method至少调用一次来加载缓存.我喜欢David Chelimsky的解决方案,但它没有回答我的原始意图,即:测试在第一次调用SomeClass.method注入类之后再也没有调用(既不是:expensive_method也不是其他).

ruby rspec rspec2

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

如何将jar文件转换为apk格式?

我需要找到一种方法将jar文件转换为apk文件.我已到达路障!

java android jar apk

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

如何在一个web.config中组合http和https的WCF服务配置?

我花了很多时间搞清楚如何配置我的WCF服务,以便它们适用于生产环境中的https.

基本上,我需要这样做:

<behaviors>
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
<services>
  <service name="MyNamespace.MyService" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="" bindingNamespace="https://secure.mydomain.com" binding="basicHttpBinding" bindingConfiguration="HttpsBinding" contract="MyNamespace.IMyService"/>
  </service>
</services>
<bindings>
  <basicHttpBinding>
    <binding name="HttpsBinding">
      <security mode="Transport">
        <transport clientCredentialType="None"></transport>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

bindingNamespace属性添加到端点是使其工作的最终因素.

但是这个配置在我在常规http下工作的本地开发环境中不起作用.所以我的配置是:

<behaviors>
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
<services>
  <service name="MyNamespace.MyService" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="" binding="basicHttpBinding" contract="MyNamespace.IMyService"/>
  </service>
</services>
Run Code Online (Sandbox Code Playgroud)

这里的区别是我将httpsGetEnabled属性设置为false,并删除了bindingConfiguration和bindingNamespace.

问题是: …

wcf web-config wcf-binding

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

更改UITableView的节头/页脚标题而不重新加载整个表视图

有没有办法重新加载表视图的节头/页脚而不调用 [tableView reloadData];

实际上,我想在其章节页脚的表格视图的部分中显示单元格的数量.表视图是可编辑的,我使用删除或插入行

– insertRowsAtIndexPaths:withRowAnimation:
– deleteRowsAtIndexPaths:withRowAnimation:
Run Code Online (Sandbox Code Playgroud)

似乎这些方法不会更新部分页脚.奇怪的是,当我调用这些方法时,表视图数据源方法

- (NSString *)tableView:(UITableView *)table titleForFooterInSection:(NSInteger)section 
Run Code Online (Sandbox Code Playgroud)

被调用(两次!),但它没有使用新值更新表视图!

任何人都知道如何解决这个问题?

header footer reload uitableview ios

29
推荐指数
4
解决办法
4万
查看次数

如何更改unix管道发送split命令结果的位置?

基本上我这样做:

export_something | split -b 1000
Run Code Online (Sandbox Code Playgroud)

它将导出的结果分成文件名xaa,xab,xac,每个1000字节

但我希望我的分割输出进入具有特定前缀的文件.通常我会这样做:

split -b <file> <prefix>
Run Code Online (Sandbox Code Playgroud)

但是当你管道时它没有前缀标志.我正在寻找的是一种方法:

export_something | split -b 1000 <output-from-pipe> <prefix>
Run Code Online (Sandbox Code Playgroud)

那可能吗?

unix bash shell pipe

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

如何从DOM节点转到viewModel对象?

drop回调函数时,this设置为droppable DOM节点(目标),ui.draggable是拖动的DOM节点.

是否有一种惯用的方法来获取已呈现为特定DOM节点的模型对象?

(我正在使用jQuery模板,如果它很重要.可能有多个渲染的单个modelView对象.)

jquery jquery-ui knockout.js

7
推荐指数
1
解决办法
3764
查看次数

即使访问本地状态,始终使用访问器方法是最佳做法吗?

考虑以下课程:

public class Person 
{
private Integer age;

// Standard Accessors
public Integer getAge() {
    return age;
}

public void setAge(Integer age) {
    this.age = age;
}

public String getAgeAsTextString()
{
    if (this.age == 20)
    {
        return "Twenty";
    }
    return "Unknown";
}
}
Run Code Online (Sandbox Code Playgroud)

我只有1个整数和2个访问器.如果我想创建一个实用程序方法,将对象的状态作为String返回,那么最好将类变量引用为this.age或应该使用getAge()

是否有最佳实践或是由于开发人员的压制?

java

9
推荐指数
2
解决办法
3278
查看次数