问题列表 - 第28235页

Clojure - Eratosthenes的尾递归筛

我在Clojure中实现了Eratosthenes的筛子:

(defn sieve [n]
  (loop [last-tried 2 sift (range 2 (inc n))]
    (if
      (or (nil? last-tried) (> last-tried n))
      sift
      (let [filtered (filter #(or (= % last-tried) (< 0 (rem % last-tried))) sift)]
        (let [next-to-try (first (filter #(> % last-tried) filtered))]
        (recur next-to-try filtered))))))
Run Code Online (Sandbox Code Playgroud)

对于较大的n(如20000),它以堆栈溢出结束.为什么尾部呼叫消除不在这里工作?怎么解决?

algorithm primes functional-programming clojure sieve-of-eratosthenes

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

如何在CoreData Context合并后获取对象

我试图保存数据并与CoreData和多线程的iPhone应用程序合并.但合并后我无法在主线程中获取托管对象.

我编写的代码如下:

[managedObjectContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
                                       withObject:notification
                                    waitUntilDone:YES];

[self performSelectorOnMainThread:@selector(didMerged:) withObject:objectIds waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)

所以我试图传递objectIds来获取主线程中的NSManagedObject实例,这些实例是在另一个线程中生成的.起初我尝试了"objectWithId"方法,但它生成了故障对象.然后我尝试了"existingObjectWithID"方法,但它部分生成了对象,其他的则是nil,后面跟着Error:

[Error] Error Domain=NSCocoaErrorDomain Code=133000 "Operation could not be completed. (Cocoa error 133000.)"
Run Code Online (Sandbox Code Playgroud)

怎么了?有没有办法在另一个线程中合并后如何通过objectIds检索所有对象?

谢谢.

iphone cocoa core-data

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

presentPopoverFromRect如何工作?

我不明白如何定义(CGRect)rect以控制弹出窗口的位置和箭头的位置.

例如,我有一个1004 x 768视图,如何将弹出框放在屏幕的右下方,并将箭头指向700(x)1000(y)?Thakns!

iphone iphone-sdk-3.2

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

如何使单元测试始终通过?

让我们假设有人必须为问题编写解决方案,我必须通过一些测试来测试他的解决方案.是否有可能(可能有反思或某些东西)他的程序通过我所有的测试,但与问题的真正解决方案没有任何共同之处?

java testing reflection

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

为什么不能从不同的线程更新ObservableCollection?

在多线程WPF应用程序中,无法ObservableCollection从WPF窗口线程以外的线程更新.

我知道有解决方法,所以我的问题不是如何避免" 这种类型的CollectionView不支持从与Dispatcher线程不同的线程更改其SourceCollection "异常.

我的问题是,为什么会有这样的例外?为什么不允许从任何线程进行集合更新?

就个人而言,当ObservableCollection从其他线程更改时,我认为没有任何理由阻止UI更新.如果两个线程(包括并行线程)访问同一个对象,一个通过事件监听对象属性的更改,另一个执行更改,它将始终有效,至少在正确使用锁定的情况下.那么,原因是什么?

c# wpf multithreading observablecollection

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

关于PHP中的mb字符串和普通字符串

我怎么知道字符串是mb字符串?所以我们使用mb_strlen而不是strlen?

php mbstring

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

与MSVC x64相比

我正在将一些代码移植到Windows(叹息)并需要使用fesetround.MSVC不支持C99,因此对于x86,我从MinGW复制了一个实现,并将其破解为:

 //__asm__ volatile ("fnstcw %0;": "=m" (_cw));
 __asm { fnstcw _cw }
 _cw &= ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO);
 _cw |= mode;
 //__asm__ volatile ("fldcw %0;" : : "m" (_cw));
 __asm { fldcw _cw }
 if (has_sse) {
  unsigned int _mxcsr;
  //__asm__ volatile ("stmxcsr %0" : "=m" (_mxcsr));
  __asm { stmxcsr _mxcsr }
  _mxcsr &= ~ 0x6000;
  _mxcsr |= (mode <<  __MXCSR_ROUND_FLAG_SHIFT);
  //__asm__ volatile ("ldmxcsr %0" : : "m" (_mxcsr));
  __asm { ldmxcsr _mxcsr }
 }
Run Code Online (Sandbox Code Playgroud)

评论的行是gcc的原件; msvc取消注释.这似乎有效. …

floating-point 64-bit visual-c++

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

Visual Studio SVN集成

有没有办法将Subversion控件正确地集成到VS2008中?我目前正在使用TortoiseSVN shell扩展,但我一直忘记检查新文件,并且很容易陷入困惑.

在另一个项目中,我使用带有SourceSafe的VS2008,并且通过简单地以正常方式使用VS来实现大多数自动化或控制的东西真的很不错.

svn version-control visual-studio-2008

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

JSF:无法捕获ViewExpiredException

我正在Glassfish v3上开发一个JSF 2.0应用程序,我正在尝试处理ViewExpiredException.但无论我做什么,我总是得到一个Glassfish错误报告,而不是我自己的错误页面.

为了模拟VEE的发生,我将以下函数插入到我的支持bean中,它会激活VEE.我通过commandLink从我的JSF页面触发此函数.代码:

@Named
public class PersonHome {
  (...)
  public void throwVEE() {
    throw new ViewExpiredException();
  }
}
Run Code Online (Sandbox Code Playgroud)

起初我只是通过向我的web.xml添加错误页面来尝试它:

<error-page>
  <exception-type>javax.faces.application.ViewExpiredException</exception-type>
  <location>/error.xhtml</location>
</error-page>  
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我没有被重定向到错误,但我显示了Glassfish错误,它显示了HTTP状态500页面,其中包含以下内容:

description:The server encountered an internal error () that prevented it from fulfilling this request.
exception: javax.servlet.ServletException: javax.faces.application.ViewExpiredException
root cause: javax.faces.el.EvaluationException:javax.faces.application.ViewExpiredException
root cause:javax.faces.application.ViewExpiredException
Run Code Online (Sandbox Code Playgroud)

我尝试的下一件事是编写ExceptionHandlerFactory和一个CustomExceptionHandler,如JavaServerFaces 2.0 - 完整参考中所述.所以我将以下标记插入faces-config.xml:

<factory>
  <exception-handler-factory>
    exceptions.ExceptionHandlerFactory
  </exception-handler-factory>
</factory>
Run Code Online (Sandbox Code Playgroud)

并添加了这些类:工厂:

package exceptions;

import javax.faces.context.ExceptionHandler;

public class ExceptionHandlerFactory extends javax.faces.context.ExceptionHandlerFactory {

    private javax.faces.context.ExceptionHandlerFactory parent;

    public ExceptionHandlerFactory(javax.faces.context.ExceptionHandlerFactory parent) {
        this.parent = parent;
    } …
Run Code Online (Sandbox Code Playgroud)

java jsf jsf-2 viewexpiredexception

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

CSS变量宽度元素填充空间

在一个表单中,我想输入:文本填充剩余空格后,表格的标签左右对齐.

标签有字符数,因此我无法在标签上设置固定宽度.

代码示例:

<fieldset>
<legend>User Info</legend>
<p><label>First Name :</label><input type="text"...></p>
<p><label>Last Name : </label><input type="text"...></p>
<p><label>Completed Email Address :</label><input type="text"...></p>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

如何设置输入样式以填充文本后的剩余空间.

谢谢.

javascript css layout width

9
推荐指数
2
解决办法
5136
查看次数