问题列表 - 第42236页

如何减少Common Lisp中的布尔值列表?

给定一个值列表,如果所有元素都不是NIL,我想将列表减少到T,否则就是NIL.这给了我一个错误:

(apply #'and (get-some-list))
Run Code Online (Sandbox Code Playgroud)

就像这样:

(reduce #'and (get-some-list))
Run Code Online (Sandbox Code Playgroud)

这是我提出的最好的:

[11]> (defun my-and (x y) (and x y))
MY-AND

[12]> (reduce #'my-and '(T T T T T))
T

[13]> (reduce #'my-and '(T T T T NIL))
NIL
Run Code Online (Sandbox Code Playgroud)

为什么"#"和"无效?在Common Lisp中有更惯用的方法吗?

reduce common-lisp apply

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

在32位和64位处理器上开发,我应该如何构建我的项目以自动引用正确的dll?

我目前处于这样的情况:我有32位和64位开发人员机器在我的c#项目上工作.我必须引用一些同时具有32位和64位版本的dll.显然,32位机器需要引用32位dll,而64位机器需要64位dll.我遇到的问题是,每次开发人员检查一些代码时,他们也会检查他们的dll引用,所以当另一方的某个人提取他们的代码时,它不会构建,并且他们必须手动更新他们的引用他们应该是什么.然后他们检查,其他开发人员必须手动修复他们的引用等等.

我不认为这是一个新问题,但这是我第一次碰到它.有一个通常的做法是让项目自动引用CPU的正确dll吗?或者也许是一种拥有32位和64位项目的方法,每个项目都有正确的引用,以及一种方式(可能是命令行工具或一些可以绑定到构建中的外部工具)将它们绑定在一起,以便在新项目时添加或删除一个,另一个也将更新?

另一种选择是让每个开发人员使用相同的虚拟化开发环境.如果我走这条路线,我可以在32位硬件上虚拟化64位系统,还是我必须走另一条路,并虚拟化32位.这将是一个SaaS产品,所以我只需要部署一个处理器,我宁愿这是64位.

c# dll virtualization visual-studio-2010 32bit-64bit

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

显示提交的原始分支

我用git-blame找到了一个特定的提交.现在我想找到它最初来自的分支.(从那里,我将使用分支名称来查找特定的票证)

让我们将"原始分支"定义为"在将分支合并到任何其他分支之前进行提交的分支".

git branch git-branch

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

cygwin下的Ocaml + LLVM(或者更常见的是,在cygwin下静态链接C对象文件)?

Ocaml绑定的测试(如果你已经安装了Ocaml的LLVM会自动安装)都在cygwin下失败了,当我尝试创建最简单的程序时,我得到了与所有内置测试相同的错误失败:

> ocamlopt -I +llvm-2.8 -cc g++ llvm.cmxa llvm_bitwriter.cmxa llvm_trivial.ml -o llvm_trivial
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x14a): undefined reference to `_flexdll_dlerror'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x177): undefined reference to `_flexdll_dlopen'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x193): undefined reference to `_flexdll_dlopen'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x1a2): undefined reference to `_flexdll_dlsym'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x1bc): undefined reference to `_flexdll_dlsym'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x1cf): undefined reference to `_flexdll_dlclose'
collect2: ld returned 1 exit status
File "caml_startup", line 1, characters 0-1:
Error: Error during linking
Run Code Online (Sandbox Code Playgroud)

谷歌搜索表明这不是LLVM特定的,其他人有同样的问题,但我找不到解决方案.我安装了flexdll.我没有正确引用它吗?

这对我的Linux系统很有用,所以我觉得这对我在cygwin上所做的事情是特别的.有什么建议?

linker cygwin ocaml llvm

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

在fields_for循环中获取对象字段的值

在以下场景中,我需要检查fields_for循环中对象属性的值.

<%= f.semantic_fields_for :review_details do |rd| %>
  <%= rd.input :review_criteria_id, :as=>:hidden %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在循环中,:review_criteria_id渲染为隐藏字段,但我有一个场景,如果它是一个特定的标准,我必须打印更多的信息.如何获得review_criteria_id循环中的值.我用了:

rd.review_criteria_id
Run Code Online (Sandbox Code Playgroud)

但既然rd是形式上的对象,那么我就无法得到它的价值:review_crieteria_id.

ruby-on-rails ruby-on-rails-plugins formtastic ruby-on-rails-3

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

我可以为此循环提供更快的性能吗?

我正在读一本书并从中删除了一些单词.我的问题是这个过程需要很长时间,我想让它的性能更好(更少的时间),例如:

Vector<String> pages = new Vector<String>();  // Contains about 1500 page, each page has about 1000 words.
Vector<String> wordsToDelete = new Vector<String>();  // Contains about 50000 words.

for( String page: pages ) {
    String pageInLowCase = page.toLowerCase();

    for( String wordToDelete: wordsToDelete ) {
        if( pageInLowCase.contains( wordToDelete ) )
            page = page.replaceAll( "(?i)\\b" + wordToDelete + "\\b" , "" );
    }

    // Do some staff with the final page that does not take much time.
}
Run Code Online (Sandbox Code Playgroud)

此代码大约需要3分钟才能执行.如果我跳过replaceAll(...)的循环,我可以节省超过2分钟.那么有没有办法以更快的性能执行相同的循环?

java performance loops

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

Windows Phone 7的日历控件?

是否有可用于WP7的日历控件(不是datepicker和timepicker)?

calendar windows-phone-7

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

为什么不decodeURI("a + b")=="a b"?

我正在尝试用Ruby编码URL并用Javascript解码它们.然而,加号角色给了我奇怪的行为.

在Ruby中:

[Dev]> CGI.escape "a b"
=> "a+b"
[Dev]> CGI.unescape "a+b"
=> "a b"
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是Javascript怎么样?

>>> encodeURI("a b")
"a%20b"
>>> decodeURI("a+b")
"a+b"
Run Code Online (Sandbox Code Playgroud)

基本上我需要一种编码/解码URL的方法,这些方法在Javascript和Ruby中的工作方式相同.

编辑: decodeURIComponent不是更好:

>>> encodeURIComponent("a b")
"a%20b"
>>> decodeURIComponent("a+b")
"a+b"
Run Code Online (Sandbox Code Playgroud)

javascript ruby encode decode urlencode

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

自定义Tomcat Webapp ClassLoader

我正在尝试为tomcat实现自定义类加载器.我的第一次尝试产生了类强制转换异常(显然,tomcat尝试将我的加载器强制转换为org.apache.catalina.loader.WebappLoader).好吧,我扩展了WebappLoader并将catalina.jar添加到我的构建路径中.

现在我准备好部署(我想).我收到这个错误:

严重:Catalina.start:LifecycleException:start :: java.lang.NoClassDefFoundError:org/apache/catalina/loader/WebappLoader

Tomcat带有catalina.jar来运行,所以我99.9%肯定它已经加载到tomcat中.我通过检查/server/lib/catalina.jar验证了这一点,它包含了apache WebappLoader.此外,正如预期的那样,手动链接另一个catalina.jar会产生一大堆问题.

我糊涂了.任何提示都会很热.

谢谢!

更新:有趣的是,tomcat6上的相同内容(扩展WebappLoader;在tomcat5.5上运行)仍会导致ClassCastException.听起来像执行演员表的类是使用与加载我的类的装载器不同的加载器加载的.我不知道我怎么能控制它,除非在某处可能有另一个丢失的tomcat配置?对tomcat6有什么想法吗?

java tomcat classloader contextclassloader tomcat6

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

如何旋转Android模拟器显示?

如何旋转Android模拟器显示以横向模式查看?

android emulation android-emulator

1031
推荐指数
11
解决办法
27万
查看次数