小编emc*_*sen的帖子

Haskell:在不使用spawn的情况下拆分管道(广播)

这个问题有点像高尔夫球和很多新手.

pipes在Haskell中使用了很棒的库,我想拆分管道以沿多个通道发送相同的数据(进行广播).本Pipes.Concurrent教程建议使用spawn创建邮箱,利用Output幺半群状态.例如,我们可能会这样做:

main = do
 (output1, input1) <- spawn Unbounded
 (output2, input2) <- spawn Unbounded
 let effect1 = fromInput input1 >-> pipe1
 let effect2 = fromInput input2 >-> pipe2
 let effect3 = P.stdinLn >-> toOutput (output1 <> output2)
 ...
Run Code Online (Sandbox Code Playgroud)

通过邮箱的这种间接是否真的有必要?我们可以写这样的东西吗?

main = do
 let effect3 = P.stdinLn >-> (pipe1 <> pipe2)
 ...
Run Code Online (Sandbox Code Playgroud)

以上不编译,因为Pipe没有Monoid实例.有这么好的理由吗?第一种方法真的是拆分管道最干净的方法吗?

haskell haskell-pipes

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

两行OpenGL程序中的EXEC_BAD_ACCESS

以下简单程序在运行时会产生EXEC_BAD_ACCESS(分段错误),我不明白为什么:

#include <OpenGL/gl.h>

int main(void) {
  const GLubyte * strVersion;
  // The next line gives an 'EXEC_BAD_ACCESS'
  strVersion = glGetString (GL_VERSION);
}
Run Code Online (Sandbox Code Playgroud)

我在OS X 10.6.5中运行Xcode,并且我正在与OpenGL框架进行链接.任何想法,将不胜感激.

opengl macos initialization segmentation-fault

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

确定C++中的类型是否为同一基础类型的别名

我想写一个模板化的函数,它根据传入的模板类类型改变它的行为.为此,我想确定传入的类型.例如,类似这样的事情:

template <class T>
void foo() {
  if (T == int) { // Sadly, this sort of comparison doesn't work
    printf("Template parameter was int\n");
  } else if (T == char) {
    printf("Template parameter was char\n");
  }
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

c++ templates types

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

真正的客户端HTML包括

HTML不支持客户端包含其他HTML,例如使用该#include指令获取C.相反,客户端HTML包含的主要工具似乎是iframe,object尤其是jQuery .load.请参阅此主题以获取示例.

不幸的是,这些方法似乎都没有产生完全相同的DOM #include.特别是,iframeobject包裹在各自的标记所包含的内容.此外,示例线程中提出的jQuery解决方案仍会导致带有额外的DOM div.

例如,考虑线程的jQuery解决方案:

a.html:

<html> 
  <head> 
    <script src="jquery.js"></script> 
    <script> 
    $(function(){
      $("#includedContent").load("b.html"); 
    });
    </script> 
  </head> 

  <body> 
     <div id="includedContent"></div>
  </body> 
</html>
Run Code Online (Sandbox Code Playgroud)

b.html:

<p> This is my include file </p>
Run Code Online (Sandbox Code Playgroud)

这将创建一个DOM,身体部分看起来像:

<body> 
  <div id="includedContent">
    <p> This is my include file </p>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

但是真的#include不包括包装div,所以DOM看起来像:

<body> 
  <p> This is my include file </p>
</body>
Run Code Online (Sandbox Code Playgroud)

知道怎么做客户端包括没有包装标签吗?

编辑:我不想假设周围标签的知识.例如,在这种情况下,周围的标签是body,但不是在所有情况下.

html ajax jquery

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

Matlab + Java + JNI:java.lang.UnsatisfiedLinkError

使用Matlab与Java和JNI,我得到一个我无法理解的UnsatisfiedLinkError.

首先,我从Matlab命令行加载本机库.有用:

>> java.lang.System.load('/usr/local/share/OpenCV/java/libopencv_java.so')
Run Code Online (Sandbox Code Playgroud)

然后我调用用本机库实现的Java函数:

>> org.opencv.core.Mat

   Java exception occurred:
   java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat()J
    at org.opencv.core.Mat.n_Mat(Native Method)
    at org.opencv.core.Mat.<init>(Mat.java:441)
Run Code Online (Sandbox Code Playgroud)

它抱怨它无法找到org.opencv.core.Mat.n_Mat()J,但该符号位于.so中:

echristiansen@jnu:/usr/local/share/OpenCV/java$ nm libopencv_java.so | grep Mat_n_1Mat
0000000000027780 T Java_org_opencv_core_Mat_n_1Mat__
00000000000316c0 T Java_org_opencv_core_Mat_n_1Mat__DDI
00000000000312a0 T Java_org_opencv_core_Mat_n_1Mat__DDIDDDD
00000000000318a0 T Java_org_opencv_core_Mat_n_1Mat__III
00000000000314b0 T Java_org_opencv_core_Mat_n_1Mat__IIIDDDD
0000000000030fa0 T Java_org_opencv_core_Mat_n_1Mat__JII
0000000000031120 T Java_org_opencv_core_Mat_n_1Mat__JIIII
Run Code Online (Sandbox Code Playgroud)

因此,如果它使用正确的符号加载本机库,为什么我会收到UnsatisifiedLinkError?

java java-native-interface matlab unsatisfiedlinkerror

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

在最大限度地减少冗余方面,像MySQL和H2这样的数据库有多聪明?

我是数据库新手,这个问题与我对数据库的期望有多大关系.这里的"数据库"我的意思是"类似"MySQL或H2(我实际上不知道这两个是否相似,只是它们很受欢迎).我实际上正在使用ScalaQuery,因此它从底层数据库中抽象出来.

假设我有一个带有类型(String,Int)的条目的表,在String条目中有很多冗余.所以我的表可能看起来像:

(Adam,18)(Adam,34)(Adam,34)......继续......(Adam,3492)(Bethany,4)(Bethany,45)......继续......(Bethany,2842)

如果我用H2存储这个表,它是否足够智能以实现"Adam"和"Bethany"重复多次,并且可以用指向查找表的枚举替换?或者是否会浪费大量存储空间?

相关:如果H2在这方面对于琴弦很聪明,那么双打同样也是聪明的吗?在我可能是脑死亡的初始表中,我碰巧有很多重复的双字段.

谢谢!

mysql sql database h2 scalaquery

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