小编rp.*_*ran的帖子

为什么我们不能在没有匿名类方法的情况下在java中实例化接口或抽象类?

我知道,除了使用匿名类方法之外,我们无法在java中实例化接口或抽象类,但它背后的原因是什么?

java interface class abstract

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

保持Ruby中重复元素的数组之间的差异

我是Ruby的新手,并且希望能够在两个数组之间找到差异.

我知道通常的方法:

a = [...]
b = [...]
difference = (a-b)+(b-a)
Run Code Online (Sandbox Code Playgroud)

但问题在于这是计算集合的差异,因为在ruby中,语句(a-b)定义了相对于b的集合恭维.

这意味着[1,2,2,3,4,5,5,5,5] - [5]= [1,2,2,3,4],因为它取出了第一组中出现的所有5个,而不仅仅是一个,表现得像数据上的过滤器.

我希望它只删除一次差异,例如,差异[1,2,2,3,4,5,5,5,5],并且[5]应该只[1,2,2,3,4,5,5,5]删除一个5.

我可以迭代地做到这一点:

a = [...]
b = [...]

complimentAbyB = a.dup
complimentBbyA = b.dup

b.each do |bValue|
  complimentAbyB.delete_at(complimentAbyB.index(bValue) || complimentAbyB.length)
end
a.each do |aValue|
  complimentBbyA.delete_at(complimentBbyA.index(aValue) || complimentBbyA.length)
end

difference = complimentAbyB + complimentBbyA
Run Code Online (Sandbox Code Playgroud)

但这看起来非常冗长和低效.我不得不想象有一个更优雅的解决方案.所以我的问题基本上是,找到两个数组的差异的最优雅的方法是什么,如果一个数组出现单个元素然后另一个数组,它们将不会被删除?

ruby arrays difference

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

如何限制在 pygame 中调整窗口大小

我在 pygame 中有一个窗口,设置如下: screen = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT),pygame.RESIZABLE)

如您所见,它是可调整大小的,并且该方面工作正常,但是如果它太小,则您无法看到所有内容,因此我想设置一个限制,例如,您无法调整屏幕的宽度小于 600,或高度小于 400,有没有办法在 pygame 中做到这一点?

谢谢!

python pygame window-resize python-2.7

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