问题列表 - 第19376页

Objective-C是否使用短路评估?

我尝试过以下方面:

if(myString != nil && myString.length) { ... }
Run Code Online (Sandbox Code Playgroud)

得到了:

- [NSNull length]:发送到实例的无法识别的选择器

在第一个条件失败后,Objective-C不会短路吗?

objective-c short-circuiting

18
推荐指数
2
解决办法
5923
查看次数

letrec有什么好处?

在阅读"The Seasoned Schemer"时,我开始学习letrec.我理解它的作用(可以用Y-Combinator复制),但本书正在使用它来代替在已define保持静态参数的已经d函数上重复出现.

使用defined函数重复出现的旧函数示例(没什么特别的):

(define (substitute new old l)
  (cond
    ((null? l) '())
    ((eq? (car l) old)
      (cons new (substitute new old (cdr l))))
    (else
      (cons (car l) (substitute new old (cdr l))))))
Run Code Online (Sandbox Code Playgroud)

现在有一个相同功能的例子,但使用letrec:

(define (substitute new old l)
  (letrec
    ((replace
      (lambda (l)
        (cond
          ((null? l) '())
          ((eq? (car l) old)
           (cons new (replace (cdr l))))
          (else
           (cons (car l) (replace (cdr l))))))))
(replace lat)))
Run Code Online (Sandbox Code Playgroud)

除了稍微长一点,更难以阅读之外,我不知道他们为什么要在书中重写函数来使用letrec.通过这种方式在静态变量上重复出现时是否有速度增强,因为你没有继续传递它?

对于具有参数的函数,这种标准实践是保持静态还是减少了一个参数(例如重复列表的元素)?

来自更有经验的Schemers/LISPers的一些意见将有所帮助!

lisp scheme functional-programming racket letrec

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

TIdCmdTCPServer 和 TIdCmdTCPClient 应该一起使用吗?

我正在尝试编写一个服务器和一组与服务器通信的客户端。服务器将维护不同客户端的状态,并允许它们在状态发生变化时向中央服务器发出警报。专家客户端将允许控制其他连接的客户端。

我将服务器作为 TIdCmdTCPServer,客户端(目前)使用 TIdTCPClient 进行连接。

如果客户端正在发送和接收命令,他们应该使用 TIdCmdTCPClient 吗?我读过 CmdTCPServer 和 CmdTCPClient 并没有真正一起使用 - 它们是否不必一起使用?

因此,对于这个问题的笼统含糊,我深表歉意,但我才刚刚开始研究这个问题,在陷入细节困境之前需要先弄清楚。

谢谢你的帮助

马克·H

delphi indy

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

DI容器,工厂或新的短暂物体?

处理需要在运行时只知道数据的对象时,例如用户名和密码,应该在哪里进行对象实例化:使用new,在工厂或在DI容器中?

例如,new一旦有了数据,我就可以只是一个对象:

UserCredentials creds =
    new UserCredentials(dialog.getUsername(), dialog.getPassword());
Run Code Online (Sandbox Code Playgroud)

或者,我可以使用工厂:

UserCredentials creds =
    CredentialsFactory.create(dialog.getUsername(), dialog.getPassword());
Run Code Online (Sandbox Code Playgroud)

或者,我可以在DI容器中使用提供程序(在这种情况下,它基本上是一个参数驱动的工厂).[省略示例代码.]

将DI容器用于如此简单的事情似乎都是错误的,但如果不充分利用它也似乎是错误的.

factory dependency-injection new-operator

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

可可,Windows和线程?

在Windows上,每个线程都有一个消息队列,每个消息队列将处理该线程拥有的窗口的消息.这意味着编写一个应用程序非常简单,您可以使用消息循环和一个(或多个)窗口创建一个线程.忽略任何类型的应用程序问题,现在有一个应用程序窗口将继续与用户交互,即使其他窗口之一忙于某种模式操作.

现在,在将应用程序移植到cocoa时,我遇到了Interface Builder.对于希望更多地控制窗口创建和消息循环构造的人来说,这是一个惊喜.然而,我可以看到IB来自哪里.

然而,我的问题在于不透明的函数NSApplicationMain().这 - 在应用程序主线程上,自动创建应用程序主窗口,并运行消息泵,所有数据都可以从NIB文件中很好地驱动.

然而,这给我留下了一个问题:即使我认为Interface Builder是制作我的主应用程序窗口的方法 - 我已经想出足够的目标C来动态创建子窗口 - 以及如何创建线程 - 我可以看到如何在工作线程中创建消息泵.我开始怀疑它的可能性.

在可可中的窗口是否具有它们在Win32中所做的那种线程关联?即每个线程有自己的消息调度循环为该线程拥有的窗口?我开始怀疑也许Cocoa期望我的所有窗口都被主线"拥有",我只是将工作(和绘图)偏移到其他线程上.

有关如何最好地将多窗口每线程Win32应用程序转换为Cocoa范例的任何线索?

windows cocoa multithreading

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

伪随机数发生器,固定密度为1s

我正在寻找生成伪随机数[可能是低"随机性"]或具有固定汉明权重[固定密度为1s]的伪随机比特序列的方法.我发现了一些关于使用简单的线性同余生成器和一个具有我需要的汉明重量的种子的建议,但没有给出为什么这是正确的原因[为什么汉明重量在线性同余变换下是不变的]

任何人都可以说明这一点或给我另一种方式吗?

谢谢...

random

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

从Wordpress帖子中删除转义的引号

在我的内容中,我<h3>为了直接链接而给出了我的标签id.

这是它在帖子编辑器中的样子:

<h3 id="h3-title">H3 Title</h3>
Run Code Online (Sandbox Code Playgroud)

这样我就可以像这样直接链接到它:

<a href="http://example.com/page#h3-title">H3 Title</a>
Run Code Online (Sandbox Code Playgroud)

但是,双引号会以某种方式转义,帖子页面上的html输出如下所示:

<h3 id="\"h3-title"\">H3 Title</h3>
Run Code Online (Sandbox Code Playgroud)

这使得链接不起作用:(

我已经尝试了很多东西,例如从the_content中删除wptexturize过滤器,确保magic_quotes关闭,甚至remove_filter('content_save_pre', 'wp_filter_post_kses');哪些东西都会破坏.

我正在认真考虑只是创建一个过滤器来删除斜杠,但似乎它们不应该被添加到开头.例如,它们不会添加到带有id的图像中,因此必须将它们添加到某处.这在视觉和html模式下都会发生.

任何帮助将不胜感激.

wordpress quotes escaping wordpress-plugin double-quotes

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

Codeigniter Cookies帮助

你好codeigniter如何检查用户是否第一次访问该网站,如果他们设置了cookie?

我已经在使用会话库和存储session_id等的数据库会话,但是我需要能够检查用户是否是第一次访问者以及他们是否已经有cookie?

$cookie = array(
                           'name'   => 'some_value',
                           'value'  => 'The Value',
                           'expire' => time()+86500,
                           'domain' => '.some-domain.com',
                           'path'   => '/',
                           'prefix' => '',
                       );

        set_cookie($cookie);
        var_dump(get_cookie('some_value'));`
Run Code Online (Sandbox Code Playgroud)

php cookies codeigniter

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

Oracle下的NetBeans IDE

我对我刚才读到的内容感到有点不安.我做了一些研究,因为我想开始用Java编程,我得出结论,NetBeans是我最好的IDE,因为它具有强大的Swing GUI Designer和强大的Jasper Reports报告(iReport).

然而,甲骨文(即将收购Sun)似乎并不关心NetBeans.由于我将从现在开始用Java开始构建appz,我想知道您对以下事项的看法:

我是否会继续使用NetBeans,尽管有传言称甲骨文将停止使用它,或者我应该选择另一个IDE?

PS:基本上NetBeans是首选,但由于目前的情况,我怀疑这个决定.

谢谢

java ide oracle netbeans sun

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

将表数据从一个DB复制到另一个DB

对于开发,我发现自己需要经常将表信息从一个表复制到另一个表.我很好奇为Postgres做这个最简单的解决方案是什么.我有PGAdminIII,但它看起来真的只支持冗长的备份/恢复.

有什么python或bash脚本在某处或某些东西,我可以给它基本的信息?

  • 这是DB1
  • 这是DB2
  • 复制表...
  • 走!

我相信SQLYog在Win32中为MySQL做了这个,但我现在使用的是OSX并使用Postgres.

python linux postgresql macos

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