标签: conditional-statements

为什么 Clojure 中的 0 不是假的?

因此,在弱类型 C 中,0 在布尔上下文(如条件表达式)中被评估为 false,而其他所有内容都是 true。现代动态语言似乎在零是否为假的问题上存在分歧:Python、PHP 和 Javascript 说是,而 Ruby、Lua、Clojure 和 Racket 说不是。

问题是,为什么?我用谷歌搜索了我的问题标题,并在黑客新闻上找到了这个帖子,其中有有趣的内容,但没有回答我的问题。在我的搜索中用“lisp”替换 Clojure 没有产生任何历史参考。

因此,为了更准确地阐述我的问题:在条件表达式中零评估是否有实际的技术优势,或者它只是成为动态语言中的准标准(不受 C 的影响)早期的口齿不清?对于习惯 C/Python/Javascript 的程序员来说,这绝对有点奇怪。

clojure conditional-statements

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

如何使用不同的间隔过滤数字数组?

在下面的示例代码中,我想根据不同的间隔过滤 numbersArray。一个区间由 2 个数组的组合以及所述区间的下限和上限定义。如何识别匹配或不匹配,如下所示?

const numbersArray = [1,2,3,4,5,6,7,8,9,10];
const lowerBound = [1, 4, 8];
const higherBound = [3, 6, 10];
Run Code Online (Sandbox Code Playgroud)

如果代码有效,则以下测试应返回 true:

matches == [2, 5, 9];
nonmatches == [1, 3, 4, 6, 7, 8, 10];
  
Run Code Online (Sandbox Code Playgroud)

假设数组包含 1000 多个项目并且数字不遵循任何模式。

下面是一个不太可读但更现实的场景。

let numbersArray = [];
let lowerBound = [];
let higherBound = [];

for (let i = 0; i< 1000; i++){
  numbersArray.push(i);
}

for(let i = 0; i < 100; i++) {
  lowerBound.push(i * 10);
  higherBound.push((i * 10) + Math.random() * …
Run Code Online (Sandbox Code Playgroud)

javascript conditional-statements

12
推荐指数
4
解决办法
305
查看次数

Python 中 switch/case 的语法等价物是什么?

C/C++、C#、Java、JavaScript 和 Pascal 参考等编程语言具有switchandcase语句(有时也称为selector inspect)的组合,允许您根据多个条件检查一个值以执行某些操作。

my_value = 10;
switch(my_value) {
    case 10:
        print("The number is ten");
    case 2*10:
        print("The number is the double of ten");
    case 100:
        print("The number is one hundred");
    default:
        print("The number is none of 10, 2*10 or 100");
}
Run Code Online (Sandbox Code Playgroud)

描述switch-case结构的特殊语法的伪代码。

意识到像dictionary-lookups这样的功能等价物,是否有与上述编程结构完全相同的语法

python syntax pattern-matching switch-statement conditional-statements

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

如何在Wix Installer中检查系统是Windows 7还是Windows Server 2008 R2?

我正在开发一个Windows安装程序项目.现在我只希望软件只能安装在Windows 7或Windows Server 2008 R2系统上,我试着用这个:

<Condition Message='Windows Server 2008 R2 or Windows 7 is required'>(VersionNT = 600 AND ServicePackLevel = 1) OR VersionNT = 601 </Condition>
Run Code Online (Sandbox Code Playgroud)

但它仍然可以安装在Windows Vista上.请帮忙!

谢谢!

windows-installer wix system conditional-statements

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

使用css媒体查询触发jquery

我在我的项目中使用css媒体查询来创建一个可以在任何大小的屏幕上工作的网站.我正在寻找触发差异jquery函数就像我对css一样.

例如,如果浏览器大小介于1000px和1300px之间,我想调用以下函数:

$('#mycarousel').jcarousel({
    vertical: true,
    scroll: 1,
    auto: 2,
    wrap: 'circular'
});
Run Code Online (Sandbox Code Playgroud)

但是当浏览器大小低于1000px时,js将停止其处理.等等等等.

我不确定这是否可行,但也许现有的解决方案或插件可根据浏览器窗口大小创建不同的js环境.我想我可以用某种格式创建条件语句.有什么想法吗?

jquery window conditional-statements media-queries

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

列表中的VB.NET If-Else

我只是想知道VB.NET中是否有一种方法可以查找列表中是否存在特定值,或者可以在我的If-else条件中使用哪些值.我现在正在做的是使用这个:

If ToStatus = "1CE" Or ToStatus = "2TL" Or ToStatus = "2PM" Then
    'Do something
Else
    'Do something
End If
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我ToStatus将来有数百个字符串可供比较?这将是一场噩梦!现在,如果存在这样的功能,我如何在语句中添加"And"和"Or"?

提前致谢!

vb.net if-statement list conditional-statements

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

指针解除引用开销与分支/条件语句

在重型循环中,例如在游戏应用程序中发现的循环,可能有许多因素决定循环体的哪个部分被执行(例如,角色对象将根据其当前状态进行不同的更新),因此而不是:

void my_loop_function(int dt) {
  if (conditionX && conditionY) 
    doFoo();
  else
    doBar();

  ...
}
Run Code Online (Sandbox Code Playgroud)

我习惯使用一个函数指针,该函数指针指向与角色当前状态相对应的某个逻辑函数,如:

void (*updater)(int);

void something_happens() {
  updater = &doFoo;
}
void something_else_happens() {
  updater = &doBar;
}
void my_loop_function(int dt) {
  (*updater)(dt);

  ...
}
Run Code Online (Sandbox Code Playgroud)

在我不想做任何事情的情况下,我定义了一个虚拟函数,并在需要时指向它:

void do_nothing(int dt) { }
Run Code Online (Sandbox Code Playgroud)

现在我真正想知道的是:我是不是在不知不觉地迷恋这个?上面给出的例子当然很简单; 有时候我需要检查很多变量来弄清楚我需要执行哪些代码,所以我想出使用这些"状态"函数指针确实会更优,对我来说,自然,但有些人我与之打交道是非常不同意的.

那么,使用(虚拟)函数指针值得它的收益,而不是用条件语句填充我的循环来流动逻辑?

编辑:为了阐明如何设置指针,它是通过基于每个对象的事件处理完成的.当一个事件发生时,比如说该字符附加了自定义逻辑时,它会在该事件处理程序中设置updater指针,直到另一个事件发生,这将再次改变流程.

谢谢

c++ optimization pointers conditional-statements

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

条件是否应测试阳性或阴性结果?

对不起,如果标题含糊不清,我不知道如何说出来.

是否更好地表达一个条件,使得您不想要的结果进入if语句,然后退出该函数,或者我应该测试我想要的结果并使用我的代码跟随该语句.

也许一些例子会有所帮助:

我的意思是测试阴性结果:

if(myObject == null) {
    return;
}

//do whatever with myObject
Run Code Online (Sandbox Code Playgroud)

我的意思是测试阳性结果:

if(myObject != null) {
    //do whatever with myObject
}
Run Code Online (Sandbox Code Playgroud)

对不起,如果有人能说得比我好,请做.

if-statement conditional-statements

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

更新查询if Oracle语句

我需要在我的oracle表中更新新创建的列.为此,我需要使用行中的现有值来决定如何填充此列,我收到错误:

java.lang.NullPointerException -> See Debug Output for details
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

UPDATE
    SCHEMA_NAME.TABLE_NAME
SET
    OCO= IF CO= 'Y' AND COM='Y' THEN 
{
    'Y'
} ELSE
{
    'N'
}
END IF;
Run Code Online (Sandbox Code Playgroud)

关于语法的任何建议?

sql oracle case conditional-statements sql-update

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

如何在python中为一个if语句提供多个条件

所以我在python 3.1.5中编写了一些代码,要求有一个以上的条件才能发生.例:

def example(arg1, arg2, arg3):
    if arg1 == 1:
        if arg2 == 2:
            if arg3 == 3:
                print("Example Text")
Run Code Online (Sandbox Code Playgroud)

问题是,当我这样做时,如果arg2和arg3等于0,那么它不会打印任何东西.帮助?

python arguments if-statement function conditional-statements

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