问题列表 - 第20533页

VIM 7.2使用`:perldo`和多个表达式编写脚本问题

后台任务

为了消除XY问题,我会说我在做什么:我正在尝试:perldo在VIM 7.2中完成两项任务:

  • 清除所有尾随空格,包括(清除不删除)只有空格的行
    • s/\s+$//;
  • 删除第一个非空格字符之前存在的非制表符空格
    • s/^ (\s*) (?=\S) / s#[^\t]##g;$_ /xe;

我想一次性完成这一切.目前,使用:perldo,我可以通过两次通过.(通过使用:perldo两次)

该命令应如下所示:

:perldo s/\s+$//; s/^ (\s*) (?=\S) / s#[^\t]##g;$_ /xe;
Run Code Online (Sandbox Code Playgroud)

Perl背景

为了理解这个问题,您必须了解一点Perl s///自动绑定到$_正则表达式可以自由修改的默认变量.大多数核心功能$_默认运行.

perl -e'$_="foo"; s/foo/bar/; s/bar/baz/; print' #将打印 baz

假设您可以使用:perldoVIM 链接表达式,并且它可以在逻辑上工作.

VIM不太好

现在我的VIM问题可以用代码更好地证明 - 我把它简化为一个简单的测试.打开一个新缓冲区,将以下文本放入其中:

aa bb
aa
bb
Run Code Online (Sandbox Code Playgroud)

现在运行此:perldo s/a/z/; s/b/z/;缓冲区现在具有:

za zb
aa
zb
Run Code Online (Sandbox Code Playgroud)

为什么第一行正则表达式在第二行不成功,而第二个正则表达式本身是成功的,并且在第一行?

vim scripting perl

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

如何防止第三方库显示MessageBox?

我正在将第三方基于C的SDK集成到我的.NET应用程序中.该应用程序将作为服务器上的Windows服务运行,因此它不应以任何方式与用户交互.

不幸的是,在某些错误情况下,它坚持调用MessageBoxA,可能是为了报告发生了一些不好的事情.发生这种情况时,服务停止响应.我猜它正等着有人按Ok?

供应商无法为我更改代码.

有没有办法让这个调用成为无操作,所以我的代码可以自动处理这种情况?

编辑:可能很重要的是,在我的特定情况下,如果服务崩溃,服务将自动重启.对于在我的情况下显示MessageBox的情况,优雅(尽可能)和突然退出可能是最佳解决方案.

.net winapi

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

"试图弹出一个不存在的视图控制器."

当我调用我的方法dismissView时,我收到此错误.这是方法存根:

-(IBAction)dismissView
{
    RootViewController *rootController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
    [self.navigationController popToViewController:rootController animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

这应该工作,我已经检查过,rootController被初始化和分配.有任何想法吗?

iphone objective-c uiviewcontroller uinavigationcontroller

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

将关键字参数传递给使用位置参数定义的函数时,会产生误导(?)TypeError

在cPython 2.4中:

def f(a,b,c,d):
    pass

>>> f(b=1,c=1,d=1)
TypeError: f() takes exactly 4 non-keyword arguments (0 given)
Run Code Online (Sandbox Code Playgroud)

但:

>>> f(a=1,b=1,c=1)
TypeError: f() takes exactly 4 non-keyword arguments (3 given)
Run Code Online (Sandbox Code Playgroud)

显然,我并不是真的了解Python的函数 - 参数处理机制.有人愿意分享一下这个吗?我看到发生了什么(比如填充参数插槽,然后放弃),但我认为这会毁掉一个新手.

(另外,如果人们有更好的问题关键词 - 类似"胆量" - 请重拍)

python arguments

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

在数组中查找数字及其平方的算法

我有一个整数数组,我需要一个O(n)算法来查找数组是否包含数字及其平方; 一对就足够了.

我试图自己做,但我只是设法找到O(n 2)的解决方案.

我想过使用计数排序,但内存使用量太大了.

arrays algorithm

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

用自定义UserControl替换CheckBoxList TemplateControl?

我正在尝试为标准CheckBoxList控件创建更详细的项模板.它公开了一个名为TemplateControl的ITemplate属性,但我无法找到关于如何实际使用它的简单资源.这是我到目前为止的代码:

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    MyBase.OnLoad(e)

    Dim items As New List(Of ListItem)
    items.Add(New ListItem() With {.Text = "A", .Value = "1"})
    items.Add(New ListItem() With {.Text = "B", .Value = "2"})
    items.Add(New ListItem() With {.Text = "C", .Value = "3"})

    Dim lst As New CheckBoxList()
    Dim tpl As ITemplate = LoadTemplate("~/CustomListItem.ascx")
    Dim g As New TemplateControlWrapper()
    tpl.InstantiateIn(g)
    lst.TemplateControl = g
    lst.DataSource = items
    lst.DataBind()

    Form.Controls.Add(lst)

End Sub

Class TemplateControlWrapper
    Inherits UserControl

End Class
Run Code Online (Sandbox Code Playgroud)

它似乎完全忽略了TemplateControl属性.有任何想法吗?

asp.net checkboxlist itemplate

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

使用原始创建/修改时间戳检出旧文件

有没有办法知道或获得原始的创建/修改时间戳?谢谢.

git

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

为什么我不能在即时窗口中索引std :: vector?

所以,我有一个向量

 std::vector<std::string> lines. 
Run Code Online (Sandbox Code Playgroud)

我填写这个向量,可以像访问它一样

 std::string temp = lines[0];
Run Code Online (Sandbox Code Playgroud)

但是,在即时窗口中,两者都有

 lines[0] - error:overloaded operator not found
Run Code Online (Sandbox Code Playgroud)

 lines.at(0) - error:symbol is ambiguous
Run Code Online (Sandbox Code Playgroud)

根本不工作.使用c ++的即时窗口有一个技巧.我主要是来自C#背景,一切都很好(我在立即窗口中有智能感知).我并不认为C++会很棒,但我认为它可以用于除了int之外的东西.谁能告诉我我做错了什么?谢谢.

编辑:我应该清楚,在即时窗口中没有任何实际工作,这只是一个简化的例子

编辑:我在调试模式

c++ immediate-window stdvector visual-studio

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

Clojure兼容的Java虚拟机列表

一个社区维基投票
"我已经使用这个JVM使用Clojure没有问题"为
"我已经使用这个JVM使用Clojure和有问题"

指定评论中的问题将有助于其他人判断风险是否适用于他们.

jvm clojure

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

哪个Structuremap生命周期是最佳实践?(v2.5.4)

以下哪种语法被认为是最佳实践?

For<IMyInterface>().LifecycleIs(new HybridLifecycle()).Use<MyImplementation>();

For<IMyInterface>().LifecycleIs(Lifecycles.GetLifecycle(InstanceScope.Hybrid)).Use<MyImplementation>();
Run Code Online (Sandbox Code Playgroud)

如果第一个是正确的,我可以创建一个对象HybridLifecycle,并将其用于多个For <...>语句,还是每个For <>都需要创建一个新的HybridLifecycle?

structuremap

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