问题列表 - 第14628页

PHP中是否存在短路OR,它返回最左边的值?

在某些语言中,你可以做到

$a = $b OR $c OR die("no value");

也就是说,OR将短路,仅从左到右评估值,直到找到真值.但另外,它返回已评估实际值,而不是公正值true.

在上述例子中,在PHP,$a将值1如果任一$a$b是非假值,否则会die.

所以写了一个函数first,用作

$a = first($a, $b, die("no value"));

返回任一或的.但是,它不会短路 - 它会永远.$a$bdie

ORPHP中是否有短路返回实际值?

编辑: 我给出的例子有一些很好的答案,但我想我的例子并不完全是我的意思.让我澄清一下.

$a = func1() OR func2() OR func3();

其中每个函数都执行非常强大的计算,所以我只想最多一次评估每个表达式.并且对于第一个返回真值,我希望存储实际值$a.

我认为我们可以排除编写函数,因为它不会短路.条件运算符答案将对每个表达式进行两次计算.

php logic

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

.NET 3.5 ActiveX dll InteropServices.COMException

使用vs2008 .NET 3.5 SP1

我试图在我的c#控制台应用程序项目中使用ActiveX DLL,我得到此运行时异常:

System.Runtime.InteropServices.COMException (0x800702E4): Retrieving the COM class factory for component with CLSID {4E58088E-7275-4EAA-8958-A9CCC971DDE9} failed due to the following error: 800702e4.
Run Code Online (Sandbox Code Playgroud)

我如何找到解决此问题的方法?

我以前使用regasm.exe注册到DLL并成功注册.

DLL的名称是 interop.sterling.dll

简单代码:

using SterlingLib;

  public class OrderPlacer
    {
    private void SendOrder()
        {
            var order = new SterlingLib.STIOrder();
        }
}
Run Code Online (Sandbox Code Playgroud)

我通过浏览并添加它作为参考添加了对此DLL的引用 - 然后放入该/bin/debug文件夹

使用反射:

SterlingLib.STIOrderClass is a class whose base class is System.__ComObject
     It implements the following interfaces
         SterlingLib.ISTIOrder
         SterlingLib.STIOrder

SterlingLib.STIOrder is an interface
Run Code Online (Sandbox Code Playgroud)

我正在运行Vista所以我认为这可能是一个UAC问题,不允许完全权限,就像我运行XP时那样.

interop activex .net-3.5

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

如何确保Subversion中的版本分支中的错误修复程序合并到主干中

我们将软件版本作为Subversion中的分支进行管理.最新发布的版本是主干.较早发布的版本是一个分支(每个构建和发布也标记).当开发人员修复旧版本中的错误时,他有责任将修复程序合并到主干中.如果错过了这一步骤,很难注意到,直到可能在稍后的版本中再次出现该错误.然后我们必须再次调试并修复它.

有没有办法监控合并以确保它们已完成?

或者是否有更好的方法来使用Subversion的分支来获得更好的结果.

更新:人们指出解决方案应该包括一个错误跟踪系统.我们确实使用Jira并使用Jira问题ID标记每个提交.目前尚未实施进一步的整合.

解决方案可能是一个更好的过程.但是,如果有任何工具来支持这个更好的过程,我想了解它们的存在或使用它们的方式.

svn version-control bug-tracking

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

在.NET中模拟radius服务器

我们有一个无线控制器,提示客户端机器输入用户名并使用radius传递无线控制器,而不是请求我们的中继,然后我们需要将该请求发送给未加密的第三方.

  1. 是否可以在.net中模拟radius服务器是否有api.
  2. 是否存在半径加密算法,缺少明文,允许使用我的应用服务器和无线控制器之间的共享密钥进行解密.
  3. 有人这样做过吗?

.net authentication encryption radius-protocol

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

在Windows 7 x64中找不到VS2008 installdir注册表

我目前正在编写一个构建脚本,需要visual studio 2008的installdir注册表项来查找devenv的位置.在Windows Vista中,注册表项曾经在本地机器\ software\Microsoft\VisualStudio\9.0\installdir中,但在Windows 7 x64中,似乎找不到.我试过,但也没能在其他目录中找到它.

有没有其他人有这个问题?

registry visual-studio-2008

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

在SQL Server CE中批量插入

我是SQL Server CE的新手,并使用Visual Studio 2008,SQL Server CE 3.5.我想知道将批量记录插入SQL Server CE数据库的最佳方法是什么?BULK INSERT语句是否适用于SQL Server CE?我有近45个表,其中一些表应该有大量数据.使用command.Prepare是否足够或是否有更高效和快捷的方式?

.net sql-server sql-server-ce

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

使用JQuery,如何在字段仍具有焦点时检测文本输入的值是否已更改?

在发布此问题之前我注意到之前在此主题上发布了类似的问题,但是在这种情况下用户没有通过使用键盘与文本字段交互,在这种情况下将文本字段绑定到"粘贴"行动或任何其他漂亮的建议在我的情况下不起作用.

我们的用户正在输入从条形码扫描的字符串值.我们试图做的是避免在扫描信息后让用户放下扫描仪进入下一个字段的麻烦.但是,我仍然有一个问题,即在文本字段仍然具有焦点时检测其值的变化.

这是我们遗漏的唯一部分,因为将焦点应用于表单上的下一个字段是微不足道的.任何人都可以了解当输入设备不是键盘时如何检测文本字段值的变化?我已经尝试过使用change()事件但是在字段不再具有焦点之前它不会触发.

jquery events textbox

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

IntelliJ"调试信息不​​可用" - 如何修复?

我有一个内置在IntelliJ中的Java Tomcat Web应用程序,它调用另一个名为"Stuff"的模块中的代码.我已将相关代码的源代码附加到"Stuff",因此我可以进入它并点击断点,但我看不到变量或它们的值.手表也不起作用.我得到的只是"调试信息不​​可用".

如何查看调试信息?

java debugging tomcat intellij-idea

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

为给定的输入和输出创建一个函数

想象一下,有两组相同大小的数字.

创建函数是否可能以及如何将输入项精确映射到输出项的算法或子例程?喜欢:

Input = 1, 2, 3, 4
Output = 2, 3, 4, 5
Run Code Online (Sandbox Code Playgroud)

功能将是:

f(x): return x + 1
Run Code Online (Sandbox Code Playgroud)

而"功能"我指的是比[1]更复杂的东西:

f(x):
    if x == 1: return 2
    if x == 2: return 3
    if x == 3: return 4
    if x == 4: return 5
Run Code Online (Sandbox Code Playgroud)

这对于创建特殊散列函数或函数近似非常有用.


更新:

我试图要问的是,是否有办法从上面压缩那个简单的映射示例[1].

algorithm function

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

如何使用CancelEventArgs之类的事件?

如何System.ComponentModel.CancelEventArgs使用该活动?假设我们有以下代码:

    public event CancelEventHandler EventTest = delegate { };

    public void MakeSomethingThatRaisesEvent()
    {
        CancelEventArgs cea = new CancelEventArgs();
        EventTest(this, cea);
        if (cea.Cancel)
        {
            // Do something
        }
        else
        {
            // Do something else
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果在活动中注册了多个代表,会发生什么?有什么方法可以获得所有订阅者的结果吗?

这有时用于Winforms(至少).如果不能获得所有值,他们只假设该事件的一个订户?

c# event-handling

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