问题列表 - 第34991页

SCons配置文件和默认值

我有一个项目,我使用SCons(和MinGW/gcc,取决于平台)构建.该项目依赖于其他几个库(让我们称之为libfoolibbar),它可以在不同的地方为不同的用户进行安装.

目前,我的SConstruct文件将硬编码路径嵌入到这些库中(例如,类似:) C:\libfoo.

现在,我想在我的SConstruct文件中添加一个配置选项,以便安装libfoo在其他位置的用户(比如说C:\custom_path\libfoo)可以执行以下操作:

> scons --configure --libfoo-prefix=C:\custom_path\libfoo
Run Code Online (Sandbox Code Playgroud)

要么:

> scons --configure
scons: Reading SConscript files ...
scons: done reading SConscript files.
### Environment configuration ###
Please enter location of 'libfoo' ("C:\libfoo"): C:\custom_path\libfoo
Please enter location of 'libbar' ("C:\libfoo"): C:\custom_path\libbar
### Configuration over ###
Run Code Online (Sandbox Code Playgroud)

选择后,应将这些配置选项写入某个文件,并在每次scons运行时自动重新读取.

是否scons提供这样的机制?我该如何实现这种行为?我并不完全掌握Python,所以即使是明显(但完整)的解决方案也是受欢迎的.

谢谢.

python configuration scons

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

Ruby在Python中的轻拍成语

有一个有用的Ruby习惯用法tap允许你创建一个对象,对它做一些操作并返回它(我在这里只使用一个列表作为例子,我真正的代码更多参与):

def foo
  [].tap do |a|
    b = 1 + 2
    # ... and some more processing, maybe some logging, etc.
    a << b
  end
end

>> foo
=> [1]
Run Code Online (Sandbox Code Playgroud)

使用Rails有一个类似的方法returning,所以你可以写:

def foo
  returning([]) do |a|
    b = 1 + 2
    # ... and some more processing, maybe some logging, etc.
    a << b
  end
end
Run Code Online (Sandbox Code Playgroud)

这说明了一切.无论你对对象做了多少处理,它仍然清楚它是函数的返回值.

在Python中我必须写:

def foo():
  a = []
  b = 1 + 2
  # ... and some more processing, maybe some …
Run Code Online (Sandbox Code Playgroud)

ruby python idioms

11
推荐指数
3
解决办法
1950
查看次数

Rails 3 generator的git选项?

在rails 2.x中,我可以将--git选项传递给./script/generate,以便在创建后自动将文件添加到git.但是我无法在Rails 3.0中找到这样的选项(或配置).

这已被删除或我遗失了什么?我尝试了一段时间研究这个,但我找不到任何参考.

谢谢,Prateek

ruby-on-rails ruby-on-rails-3

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

NSNotificationCenter捕获并跟踪所有NSNotifications

为了更好地理解"引擎盖下"发生的事情,我希望对我的应用程序中发生的任何通知进行完整的跟踪.

像我一样天真,我尝试的第一件事就是这样注册:

我的应用程序的某个地方:

{
    [...]
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(traceNotifications:) name:nil object:nil];
    [...]
}

- (void)traceNotifications:(NSNotification *)notification
{
    NSLog(@"received notification %@", [notification name]);
}
Run Code Online (Sandbox Code Playgroud)

我实际上通过这种方式获得了许多通知.但在某些时候,应用程序确实崩溃了.堆栈跟踪显示它在realizeClass中与EXC_BAD_ACCESS崩溃,根据我的经验,它确实表明在释放后调用了某些东西.然而,我的观察对象仍然存在,它的解除分配器尚未被调用.

我试过的下一件事是设置一个断点-[NSNotificationCenter postNotification:],然后po {NSNotification *}($ebp+16)每当我的断点被困时在gdb-console内部运行.这确实揭示了一些通知,但不是我期望/希望的所有通知.例如,我的应用程序确实正确处理了方向更改,但在重新定向设备时(在模拟器中)我没有看到任何通知被捕获.

我错过了什么?有没有办法(例如工具)可靠地观察NSNotificationCenter?

谢谢你的任何提示.

iphone trace nsnotifications

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

如何强制打开大括号来共享以前的代码行?

使用Uncrustify工具我想应用1TBS样式,它放置这样的大括号:

if (x < 0) {
    printf("Negative");
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我似乎找不到合适的选择.

uncrustify

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

如何使用给定URL的外部查找SVN repo中的所有条目

可能重复:
递归列出所有svn:externals?

我需要移动许多项目引用的组件的位置svn:external.

如何轻松查找具有svn:external此URI的所有位置?

svn

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

用于二进制plist的Python模块

是否有任何Python项目/模块在二进制plist编写器上工作?我需要一个用于我正在做的REST实现.例如,我希望服务器发送包含二进制plist而不是json的HTTP REsponse.服务器是Apache,安装了mod_python和django.考虑将bplist格式与json一起添加为输出格式,只是为了简化iPhone上的解析,以及减少数据传输.

我正在考虑编写自己的项目,但是对现有项目的贡献是可取的.

提前致谢.

python iphone plist

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

为什么Linq扩展方法不是IEnumerator而不是IEnumerable?

有很多Linq算法只需要通过输入一次,例如Select.

然而,所有Linq扩展方法都位于IEnumerable而不是IEnumerator上

    var e = new[] { 1, 2, 3, 4, 5 }.GetEnumerator(); 
    e.Select(x => x * x); // Doesn't work 
Run Code Online (Sandbox Code Playgroud)

这意味着您无法在任何正在读取"已打开"的流的情况下使用Linq.

对于我目前正在处理的项目,这种情况发生了很多 - 我想返回一个IEnumerator,其IDispose方法将关闭流,并让所有下游Linq代码对此进行操作.

简而言之,我有一个"已经打开"的结果流,我可以将其转换为适当的一次性IEnumerator - 但不幸的是,所有下游代码都需要IEnumerable而不是IEnumerator,即使它只会执行一次"传递".

即我想在各种不同的来源(CSV文件,IDataReaders等)上"实现"这种返回类型:

class TabularStream 
{ 
    Column[] Columns; 
    IEnumerator<object[]> RowStream; 
}
Run Code Online (Sandbox Code Playgroud)

为了获得"列",我必须已经打开了CSV文件,启动了SQL查询,或者其他什么.然后我可以返回一个"IEnumerator",其Dispose方法关闭资源 - 但所有Linq操作都需要一个IEnumerable.

我所知道的最好的解决方法是实现一个IEnumerable,其GetEnumerator()方法返回唯一的IEnumerator,如果某些东西试图进行两次GetEnumerator()调用,则会抛出错误.

这一切听起来还不错,还是有更好的方式让我以一种易于使用Linq的方式实现"TabularStream"?

.net c# linq

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

什么是数据挖掘中的自举数据?

最近我遇到了这个术语,但我真的不知道它指的是什么.我在线搜索,但收益甚微.谢谢.

machine-learning data-mining

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

如何强制显示忙碌指示器?(WPF)

我创建了一个繁忙的指标 - 基本上是一个标志旋转的动画.我已将其添加到登录窗口并将Visibility属性绑定到我的viewmodel的BusyIndi​​catorVisibility属性.

当我单击登录时,我希望在登录发生时显示微调器(它调用Web服务来确定登录凭据是否正确).但是,当我将可见性设置为可见时,然后继续登录,在登录完成之前不会显示微调器.在Winforms旧式编码中,我会添加一个Application.DoEvents.如何让微调器出现在MVVM应用程序的WPF中?

代码是:

        private bool Login()
        {
            BusyIndicatorVisibility = Visibility.Visible;
            var result = false;
            var status = GetConnectionGenerator().Connect(_model);
            if (status == ConnectionStatus.Successful)
            {
                result = true;
            }
            else if (status == ConnectionStatus.LoginFailure)
            {
                ShowError("Login Failed");
                Password = "";
            }
            else
            {
                ShowError("Unknown User");
            }
            BusyIndicatorVisibility = Visibility.Collapsed;
            return result;
        }
Run Code Online (Sandbox Code Playgroud)

wpf mvvm

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