小编Man*_*our的帖子

Android的看似无用的调试环境

我刚刚开始调试我的前三行长Android应用程序,我似乎无法像我想的那样使用调试工具.这是我的代码:

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  int a = 1 / 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我希望调试器停止该线程并向我显示除以零的语句行号.不,相反,它显示了我没有来源的系统内部的一些其他方法.更糟糕的是,也没有异常消息.

在这个应用程序之前,我创建了一个在按下按钮时会执行某项操作的应用程序.如果引发任何异常,则不会再显示有用的行号或异常消息.

截至目前,无法调试我的应用程序.有任何想法吗?

我正在使用最新的SDK以及Eclipse ADT插件并在真实设备(Nexus One)上进行调试.

debugging android

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

使用javascript覆盖浏览器CTRL +(WHEEL)SCROLL

在linux上的大多数浏览器中,CTRL+(WHEEL)SCROLL允许用户通过放大或缩小所有元素的大小来放大和缩小页面.现在我想要覆盖这种行为,并CTRL通过应用仿射变换得到+ WHEEL来放大我所拥有的SVG元素.

这可能吗?具体来说,是否可以捕获此键盘/鼠标事件以及抑制浏览器的默认行为?

javascript

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

如何在表达式中使用Perl的///?

我很头疼地寻找这个:你如何在表达式中使用s ///而不是赋值.为了澄清我的意思,我在下面的上下文中使用时,我正在寻找一个perl等效的python的re.sub(...):

newstring = re.sub('ab', 'cd', oldstring)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我知道如何在perl中执行此操作的唯一方法是:

$oldstring =~ s/ab/cd/;
$newstring = $oldstring;
Run Code Online (Sandbox Code Playgroud)

请注意额外的分配.

python regex perl variable-assignment substitution

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

取消/中止/确认HTML 5状态更改事件(onpopstate)

通过窗口的卸载事件,可以向用户显示确认对话框,假设在有正在等待完成的正在进行的请求的情况下,导航离开页面将终止该请求.

有没有办法用onpopstate的HTML5历史API实现这一目标?或者任何其他具有相同结果的方式?

javascript html5

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

不匹配任何字符串的最快正则表达式

不匹配任何字符串的最快的正则表达式是什么?这似乎是一件无用的事情,但请考虑一个将强制正则表达式作为过滤器的程序(这实际上是我的场景)。我尝试了一些,发现在输入中很少出现的情况b(?<!b)下是表现最好b的。

这是我为测试不同模式的速度而编写的 Python 代码:

#!/usr/bin/env python

import re
import time

tests = [
  r'a\A',
  r'b\A',
  r'a^',
  r'b^',
  r'[^\s\S]',
  r'^(?<=a)',
  r'^(?<=b)',
  r'a(?<!a)',
  r'b(?<!b)',
  r'\Za',
  r'\Zb',
  r'$a',
  r'$b'
]
timing = []
text = 'a' * 50000000

for t in tests:
  pat = re.compile(t)
  start = time.time()
  pat.search(text)
  dur = time.time() - start
  timing.append((t, dur))

timing.sort(key=lambda x: x[1])
print('%-30s %s' % ('Pattern', 'Time'))
for t, dur in timing:
  print('%-30s %0.3f' % (t, …
Run Code Online (Sandbox Code Playgroud)

python regex

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

瓷砖贴合/排列的快速方法

例如,假设我们有一个有界的2D网格,我们想要覆盖相同大小的方形图块.我们拥有无限数量的瓷砖,这些瓷砖属于规定数量的类型.每种类型的图块都指定印在该图块上的字母.在每个边缘旁边打印字母,并且只有在其相邻边缘上具有匹配字母的贴片可以在网格上彼此相邻放置.瓷砖可以旋转.

给定网格和图块类型定义的大小,排列图块的最快方法是什么,以满足上述约束并覆盖整个/大部分网格?请注意,我的用例适用于大型网格(每个维度约20个)和中等大量解决方案(与Eternity II不同).

到目前为止,我已经尝试了DFS从中心开始并选择填充区域周围的位置,这些位置允许最少的可能性和回溯,以防无法取得进展.这仅适用于具有一种或两种类型的简单方案.随之而来的是更多和太多的回溯.

这是一个简单的例子,显示输入和最终输出:

例

algorithm search depth-first-search

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

解除引用Box <T>返回值而不是引用

我似乎无法弄清楚原因:

let a = Box::new(5i32);
let _:() = *a;
Run Code Online (Sandbox Code Playgroud)

告诉我,第二行的指定类型是,i32而不是&i32因为Deref.deref()(我假设被调用*a),返回&T.

另外,如果我打电话给deref()自己:

let _:() = <Box<i32> as Deref>::deref(&a);
Run Code Online (Sandbox Code Playgroud)

我得到了预期&i32.

rust

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

无法在 GCP 上重新创建专用服务访问权限

按照https://cloud.google.com/vpc/docs/configure-private-services-access的指南,我成功创建了私有服务访问连接。然而,第二次(删除现有的错误后),我收到一个神秘的错误,我无法找到任何地方的引用。这是错误:

Cannot modify reserved ranges in CreateConnection. Please use UpdateConnection.
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-networking

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

使用简单文件实现锁定

我想知道是否有任何方式只有在目标不存在时才能移动文件 - 换句话说,只有在不导致覆盖的情况下才移动.

mv --update
Run Code Online (Sandbox Code Playgroud)

似乎首先是解决方案,但是,如果源路径的时间戳比目标更新,则移动将覆盖它,并且所有通过在移动之前修改时间戳来避免这种情况的尝试都将失败.

我需要这种行为来实现一个简单的基于文件的锁,其中"lock"文件的存在表明已获取锁.

我使用perl执行此任务,因此如果perl具有此功能,则会有所帮助.但是,我需要确保移动操作是原子的.

perl locking file

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