小编Luc*_*cas的帖子

把JButton放在右下角

我需要在一个空的JPanel的右下角放一个按钮

 +-----------------------------------+
 |                                   |
 |                                   |
 |                                   |
 |                                   |
 |                                   |
 |                                   |
 |                                   |
 |                                   |
 |                      +-----------+|
 |                      | Click Me! ||
 |                      +-----------+|
 +-----------------------------------+
Run Code Online (Sandbox Code Playgroud)

我怎么做?它应该很容易吗?我想找到正确的布局管理器,而不是使用一系列嵌套面板.

JPanel panel = new JPanel();
panel.setLayout(new SomeKindOfLayoutManagerThatDoesThis());
panel.add(new JButton("Click Me!"), SETTINGS);
Run Code Online (Sandbox Code Playgroud)

java swing jbutton

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

Numpy:n个向量的外积

我正试图在numpy中做一些简单的事情,我确信应该有一个简单的方法.

基本上,我有一个n不同长度的矢量列表.如果v1[i]i第一个向量的第一个条目,那么我想找到一个n维数组A,这样

A[i,j,k...] = v1[i] v2[j] v3[k] ...
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. outer只需要两个向量参数.

  2. einsum 需要像"abcd ..."这样的参数,这似乎是不必要的.

  3. kron 需要看似相当复杂的重塑,并且只需要两个参数.

我想避免尽可能多的复杂性,以避免引入错误.所以我最好是一个命令.

到目前为止,我所掌握的最好的是:

 vs = [v1, v2, v3 ...]
 shape = map(len, vs)

 # specify the orientation of each vector
 newshapes = diag(array(shape)-1)+1
 reshaped = [x.reshape(y) for x,y in zip(vs, newshapes)]

 # direct product
 A = reduce(lambda a,b: a*b, reshaped, 1)
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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

重复的解决方案

我有一个问题,试图获得一些代码,返回我的查询的唯一答案.例如,定义

stuff(A,B,C) :- A=C ; B=C.
morestuff([],[],[]).
morestuff([A|AA],[B|BB],[C|CC]) :- stuff(A,B,C), morestuff(AA,BB,CC).
Run Code Online (Sandbox Code Playgroud)

然后跑

morestuff([A,A],[A,B],[a,b]).
Run Code Online (Sandbox Code Playgroud)

给出输出:

A = a
B = b ? ;

A = a
B = b ? ;

yes.
Run Code Online (Sandbox Code Playgroud)

如您所见,这两种解决方案是相同的.有没有办法让PROLOG回归独特的解决方案,即e.给出输出:

A = a
B = b ? ;

yes.
Run Code Online (Sandbox Code Playgroud)

prolog prolog-setof

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

是否有内置的python来创建多个列表中的元组?

是否有一个内置的python与一组列表的tupler相同,或类似的东西:

def tupler(arg1, *args):
    length = min([len(arg1)]+[len(x) for x in args])
    out = []
    for i in range(length):
        out.append(tuple([x[i] for x in [arg1]+args]))
    return out
Run Code Online (Sandbox Code Playgroud)

所以,例如:

tupler([1,2,3,4],[5,6,7])
Run Code Online (Sandbox Code Playgroud)

收益:

[(1,5),(2,6),(3,7)]
Run Code Online (Sandbox Code Playgroud)

或者也许有适当的pythony方式这样做,还是有类似的发电机???

python transpose built-in list-manipulation

7
推荐指数
2
解决办法
1194
查看次数

在python-opencv中列出可用的设备

我的笔记本电脑连接了两个摄像头(一个内置),两个都可以工作.(如果我使用Cheese,Ubuntu附带的网络摄像头,它使用外部的).如果我使用

cap = cv.CreateCameraCapture(0)
Run Code Online (Sandbox Code Playgroud)

要么

cap = cv.CreateCameraCapture(-1)
Run Code Online (Sandbox Code Playgroud)

我得到了内置摄像头.如果我使用

cap = cv.CreateCameraCapture(1)
Run Code Online (Sandbox Code Playgroud)

它不起作用,对象'cap'显示为:

<Capture (nil)>
Run Code Online (Sandbox Code Playgroud)

与CaptureFromCAM相同.所以我想知道openCV正在尝试做什么,为什么它似乎不知道第二台相机.应该有两个设备可用(两者都有/ dev/videoN条目).

python linux hardware opencv

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

Python迭代切片对象

如果我有一个切片对象

s = slice(a,b,c)
Run Code Online (Sandbox Code Playgroud)

和一个数组长度n,有一个很好的现成迭代器的元素,以便我可以做类似的事情:

for index in FUNCTION_I_WANT(s, n):
    do_whatever(index)
Run Code Online (Sandbox Code Playgroud)

让它表现得像切片列表,超越真正可怕的:

def HACKY_VERSION_OF_FUNCTION_I_WANT(s,n):
    yield range(n).__getitem__(s)
Run Code Online (Sandbox Code Playgroud)

python iteration slice

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

找到链的比较器

我有一对像的列表

[[4,1],[1,2],[2,3]]
Run Code Online (Sandbox Code Playgroud)

我们的想法是对它们进行排序,以便第一个节点的第二个索引与第二个节点的第一个匹配.在该示例中,列表已排序.假设列表始终可以唯一地放入此表单中.该列表永远不会循环.

现在,如果有可能,我想要一个compare可以通过以下方式获得此表格的比较器:

x = [[4,1],[1,2],[2,3]]

x.sort(compare)
Run Code Online (Sandbox Code Playgroud)

假设函数compare返回对应于"更大"和"更小"的两个值中的一个.这是否可能,如果是,它是否依赖于排序算法.

如果不可能,它是否可以通过两次通过(可能使用不同的比较器)或任何固定次数的通过.

我在python中写过这个,但我的问题不是具体的.

sorting algorithm compare

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

是否有任何解释性语言可以动态修改解释器?

我一直在思考马克吐温的写作(显然),他开始用英语写作,但整篇文章都改变了拼写规则,最后他最终得到了一些可能被描述为伪德语的东西. .

这让我想知道是否有一些已有语言的解释器,其中一个人可以访问解释器本身,这样你就可以随时改变语言的语法和结构.例如,通常一个if子句是关键字; 有没有一种语言可以让你在飞行中改变或重新定义?想象一下,用一种语言开始一个控制台会话,到最后,在另一种语言中工作.

显然,人们可以编写一个解释器并运行它,也许在执行此操作和修改解释器之间没有具体的区别.我不确定这个.也许你可以动态地对任何给定的解释器进行修改是有限制的吗?

除了这些更开放的问题之外,我只想知道是否有任何已知的口译员允许这样做?或者,或许,这种能力只是一个程度问题,我的问题也很糟糕.

language-agnostic interpreter dynamic

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

Scala:不是合法的形式参数

我有一个功能:

val ADD = (x: Double, y Double) => x+y
Run Code Online (Sandbox Code Playgroud)

我想将它放在一张地图中,以下似乎有效

val nameMap = Map(ADD -> "+")
Run Code Online (Sandbox Code Playgroud)

但这不是:

val diffMap = Map(
 ADD -> (x: AlgObj,y: AlgObj, xdif: AlgObj, ydif: AlgObj) =>
  new AlgObj(ADD, xdif, ydif))
Run Code Online (Sandbox Code Playgroud)

我尝试的各种其他事情也没有尝试过,总是带有这样的信息:"不是一个合法的形式参数",带有" - >"下的插入符号.有谁知道这个错误信息是什么意思?

scala compiler-errors map

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

为什么这个不可变的双向链表实现溢出堆栈

作为练习,我想我会尝试在Scala中实现一个不可变的双向链表.目前,lazy vals导致堆栈溢出.有人可以解释为什么会这样吗?我很确定递归函数通常会终止,但长度为3是一个非常小的数字,可以从终止函数创建溢出.似乎懒惰意味着它会陷入某个循环中.

class Node(val prev: Option[Node], val next: Option[Node], val id: Int){
  override def toString = "["+id+"] "+next.toString
}

def addNodes(nNodes: Int, last: Node): Node = {
  if(nNodes > 0){
    lazy val newNode: Node = 
      new Node(Some(last), Some(addNodes(nNodes-1, newNode)),nNodes)
    newNode
  } else {
    new Node(Some(last), None, nNodes)
  }
}

def doublyLinked(n:Int) = {
  lazy val list: Node = new Node(None, Some(addNodes(n-2, list)),n-1)
  list
}

val x = doublyLinked(3)
println(x)
Run Code Online (Sandbox Code Playgroud)

recursion scala lazy-evaluation

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

Netbeans NoClassDefFoundError

我在尝试运行Netbeans(7.2)时遇到了一个反复出现的错误,上次有了它,我找到了一个可以将所有文件移动到新项目的地方.这可能会奏效,但我的项目规模让人非常麻烦.这是跟踪......

Exception in thread "main" java.lang.NoClassDefFoundError:  X.X.X.X
Caused by: java.lang.ClassNotFoundException: X.X.X.X
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

Could not find the main class: X.X.X.X Program will exit.
Run Code Online (Sandbox Code Playgroud)

它肯定在那里,10分钟前很好,我还没碰过它.

我很确定它与netbeans的自动编译(可能还有代码完成功能)有关.有没有办法可以重置所有内部数据,而无需将所有内容移动到新项目.或任何其他建议.

netbeans

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

scala中的代码块导入内部代价高昂

有时使用import语句来访问对象的多个元素是方便和清晰的.

例如,代码

x.y.z.a = 1
x.y.z.b = 2
x.y.z.c = 3
Run Code Online (Sandbox Code Playgroud)

可写成

{
    import x.y.z._

    a = 1
    b = 2
    c = 3
}
Run Code Online (Sandbox Code Playgroud)

显然,当名字更长时,它会更有用.

所有工作都是在编译时完成的,还是以某种方式在运行时执行import语句?使用这种风格是否有任何成本,效率或其他方面的成本?

performance scala

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

int x = time(NULL); => SEGFAULT?

我看到的一切都说明了我如何得到一个合理的参数种子随机数.

int seed = time(NULL);
Run Code Online (Sandbox Code Playgroud)

段错误.那样做

time_t seed = time(NULL);
int seed = (int)time(NULL);
Run Code Online (Sandbox Code Playgroud)

等等

有什么想法吗?

c time segmentation-fault

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