标签: conditional

没有其他Ruby的三元运算符

是否有一个红宝石成语"If do-this"和"do-this"就像一个简单的命令一样?

例如,我现在正在做

object.method ? a.action : nil
Run Code Online (Sandbox Code Playgroud)

将else子句留空,但我觉得这可能是一种更惯用的方法,不需要在最后指定一个nil.(另外,在这种情况下,我觉得占用多行代码会很浪费.

ruby conditional operators conditional-operator

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

Swift内联条件?

我如何在Swift中执行此操作?

(someboolexpression ? "Return value 1" : "Return value 2")
Run Code Online (Sandbox Code Playgroud)

(不,我还没有阅读整本手册......我可能在第2页错过了它!)

好,所以它在第91页和上面似乎是正确的.但是我试图在这样的字符串中使用它:

println(" some string \(some expression ? "Return value 1" : "Return value 2")"
Run Code Online (Sandbox Code Playgroud)

但编译器不高兴.如果可能的话,有任何想法吗?

这是我能够得到的尽可能接近

let exists = "exists"
let doesnotexist= "does not exist"

println("  something \(fileExists ? exists : doesnotexist)")
Run Code Online (Sandbox Code Playgroud)

conditional swift

72
推荐指数
8
解决办法
6万
查看次数

C#条件AND(&&)OR(||)优先级

我们一直在工作中进入不必要的编码论证.今天我询问条件AND(&&)或OR(||)是否具有更高的优先级.我的一个同事坚持认为他们有同样的优先权,我有疑虑,所以我查了一下.

根据MSDN AND(&&)具有比OR(||)更高的优先级.但是,你能向持怀疑态度的同事证明这一点吗?

http://msdn.microsoft.com/en-us/library/aa691323(VS.71).aspx

bool result = false || true && false; // --> false
// is the same result as
bool result = (false || true) && false; // --> false
// even though I know that the first statement is evaluated as 
bool result = false || (true && false); // --> false
Run Code Online (Sandbox Code Playgroud)

所以我的问题是你如何用代码证明AND(&&)的优先级高于OR(||)?如果你的答案无关紧要,那么为什么用这种语言建立?

c# conditional conditional-operator operator-precedence associativity

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

JavaScript:空数组,[]在条件结构中求值为true.为什么是这样?

我在代码中遇到了很多错误,因为我期待这个表达式:

Boolean([]); 评估为假.

但事实并非如此,因为它评估为真.

因此,可能返回的函数[]如下:

// Where myCollection possibly returned [ obj1, obj2, obj3] or []
if(myCollection)
{
  // ...

}else
{
  // ...
}
Run Code Online (Sandbox Code Playgroud)

没有做到预期的事情.

我错误地假设[]一个空数组?

此外,这种行为在所有浏览器中是否一致?或者那里有任何陷阱吗?顺便说一句,我在Goolgle Chrome中观察到了这种行为.

javascript arrays conditional object

70
推荐指数
4
解决办法
4万
查看次数

如果满足条件,则替换Numpy元素

我需要操作一个大的numpy数组,以便在满足条件时将每个元素更改为1或0(稍后将用作像素掩码).数组中有大约800万个元素,我的当前方法对于缩减管道来说需要太长时间:

for (y,x), value in numpy.ndenumerate(mask_data): 

    if mask_data[y,x]<3: #Good Pixel
        mask_data[y,x]=1
    elif mask_data[y,x]>3: #Bad Pixel
        mask_data[y,x]=0
Run Code Online (Sandbox Code Playgroud)

是否有一个numpy函数可以加快这个速度?

python arrays conditional numpy

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

在Twig中,检查是否存在数组的特定键

在PHP中,我们可以使用该函数检查数组中是否存在键array_key_exists().

在Twig模板语言中,我们可以通过使用if语句来检查变量或对象的属性是否存在,如下所示:

{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
Run Code Online (Sandbox Code Playgroud)

但是我们如何使用Twig 检查数组的键是否存在?我试过了{% if array.key %},但它给了我一个错误:

Key "key" for array with keys "0, 1, 2, 3...648" does not exist
Run Code Online (Sandbox Code Playgroud)

由于将数据传递到模板的主要方法之一是使用数组,似乎应该有一些方法来做到这一点.有什么想法吗?

php arrays conditional short-circuiting twig

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

如果没有编程(基本上没有条件)

我有一位同事告诉我,他曾经为一家公司工作,该公司的政策是在代码中永远不会有条件("if"和"switch"语句)并且他们让代码中的所有决策都使用多态性和(我猜)其他一些OO原则.

有点理解这背后的原因,让代码更干,更容易更新,但我正在寻找对这个概念的更深入的解释.或者它可能是更通用的设计方法的一部分.

如果任何人有任何资源或愿意解释甚至有更多与此相关的术语我可以用来找到更多的答案,我将非常感激.

我发现一个关于SO的问题有点相关但我不熟悉C++,所以我不太了解那里的答案.

(我不是OO guru btw,但我可以管理)

我最熟练的PHP,在那之后,我更喜欢那些使用这些语言的信息.

更新:我会问我的同事有关他的确切含义的更多信息.

2015年更新:经过多年的编程经验,我现在看到这个策略的目的可能是阻止程序员通过在某些地方添加条件(if语句)来随意添加功能.扩展软件的更好方法是使用"开放/封闭原则",其中使用继承和多态来扩展软件.我强烈怀疑这项政策是否对所有条件都非常严格,因为如果没有这些条件,这种政策就很难完全实现.

oop polymorphism conditional

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

C#!条件属性?

C#有一个没有 Conditional(!Conditional,NotConditional,Conditional(!))属性?


我知道C#有一个Conditional属性:

[Conditional("ShowDebugString")]
public static void ShowDebugString(string s)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

这相当于1:

public static void ShowDebugString(string s)
{
#if ShowDebugString
   ...
#endif
}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我想要反向行为(你必须明确选择退出):

public static void ShowDebugString(string s)
{
#if !RemoveSDS
   ...
#endif
}
Run Code Online (Sandbox Code Playgroud)

这让我尝试:

[!Conditional("RemoveSDS")]
public static void ShowDebugString(string s)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

哪个不编译.和:

[Conditional("!RemoveSDS")]
public static void ShowDebugString(string s)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

哪个不编译.和:

[NotConditional("RemoveSDS")]
public static void ShowDebugString(string s) …
Run Code Online (Sandbox Code Playgroud)

c# conditional conditional-compilation

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

字段上的条件计数

如果我有这样一张桌子:

jobId, jobName, Priority
Run Code Online (Sandbox Code Playgroud)

其中,优先级可以是1到5之间的整数.

由于我需要此查询来生成报表上的图表,因此我需要显示jobid,jobname和名为Priority1,Priority2,Priority3,Priority4的5个字段.Priority5.

Priority1应计算优先级字段值为1的行数.

Priority2应计算优先级字段值为2的行数.

Priority3应计算优先级字段值为3的行数.

等等

我怎么能以快速和高效的方式做到这一点?

非常感谢,Kave

sql conditional count

59
推荐指数
4
解决办法
9万
查看次数

我如何在MySQL中正确使用CASE..WHEN

这是一个演示查询,请注意它非常简单,仅在base_price为0的情况下获取,而且,它仍然选择条件3:

SELECT
   CASE course_enrollment_settings.base_price
    WHEN course_enrollment_settings.base_price = 0      THEN 1
    WHEN course_enrollment_settings.base_price<101      THEN 2
    WHEN course_enrollment_settings.base_price>100 AND   
                      course_enrollment_settings.base_price<201 THEN 3
        ELSE 6
   END AS 'calc_base_price',
   course_enrollment_settings.base_price
FROM
    course_enrollment_settings
WHERE course_enrollment_settings.base_price = 0
Run Code Online (Sandbox Code Playgroud)

base_pricedecimal(8,0)

在我的数据库上运行时,我得到:

3 0
3 0
3 0
3 0
3 0

mysql sql conditional case switch-statement

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