标签: conditional

在Python中重构long语句

我有一个很长的条件语句来决定对一对变量a和b采取什么操作.

action = 0 if (a==0) else 1 if (a>1 and b==1) else 2 if (a==1 and b>1) else 3 if (a>1 and b>1) else -1
Run Code Online (Sandbox Code Playgroud)

虽然这个语句的紧凑性(行;))很好,但它必须以更优雅的方式存在吗?

python refactoring conditional if-statement

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

JQuery - 如果($('#products').existsOn.(document))== true {// do this}

如何制作此条件分支..如果ID产品是否在HTML代码中?如果实际文件中确实存在#products?

感谢您的答复!

伪Javascript(JQuery)

If ( $('#products').existOn.(document) ) == true { 
   //do this
}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery conditional if-statement

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

asp.net c#在数据中继器中有条件

我想做一些非常简单的事情,只有当我有当前DataItem的值(即非NULL)时才显示asp:image.

如下所示,Image1只应在Image1(即Eval("Image1"))的值时输出,该值是当前DataItem中的一个字段.

<asp:PlaceHolder ID="NewsPlaceHolder" runat="server">
    <asp:Repeater ID="NewsRepeater" runat="server">
        <ItemTemplate>
            <div class="newsItem">
                <h3><%# Eval("Title") %></h3>
                <div class="images">
                    <asp:Image ID="Image1" runat="server" ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),1) %>' />
                    <asp:Image ID="Image2" runat="server" ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),2) %>' />
                </div>
                <div class="content"><%# Eval("Content") %></div>
            </div>
            <br class="clear" />
        </ItemTemplate>
    </asp:Repeater>
</asp:PlaceHolder>
Run Code Online (Sandbox Code Playgroud)

我可以在ASPX页面中使用一些简单的条件语句吗?非常感谢!

.net asp.net conditional image

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

有效地检查整数的均匀性/奇数

我有一个数学函数,它依赖于三个变量{n,a和b}

当n是偶数时,{a = n + 1,b = n}

当n为奇数时,{b = n + 1,a = n}

我的函数被调用很多次,各种N-.有没有一种有效的方法来实现它?我认为从长远来看a switchif声明可能效率不高.

编辑:这是一个最小的例子:

void func(int n)
{
    int a, b;
    if(!(n%2))
    {
        a=n+1;
        b=n;
    }
    else
    {
        a=n;
        b=n+1;
    }
    //continue ...
}
Run Code Online (Sandbox Code Playgroud)

c++ conditional function

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

EmberJS - 带参数的条件模板

在我的模板中,我正在遍历模型中的数组.为简单起见,我将使用以下示例:

{{#each user in appModel.users}}
Run Code Online (Sandbox Code Playgroud)

现在,我试图显示user用户是否在某个组中的元素.我有App.Group一个模型,它有一个方法来检查用户是否在组中.该方法采用参数user.

所以,

{{group.has_user user}}
Run Code Online (Sandbox Code Playgroud)

如果在组的ID列表中找到用户的ID,则返回true或false group的特定实例在哪里App.Group.

我试图找到一种方法来使用此方法作为模板条件.像这样:

{{#if group.has_user user}}
  <block>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

把它们放在一起:

{{#each user in appModel.users}}
  {{#if group.has_user user}}
    <block displaying user data>
  {{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

因此,将实现显示该组用户的期望效果.问题是条件{{#if}}帮助器不能使用该方法获取参数.

我试图使用自定义寄存器助手,但我找不到传递模型属性的方法.如果我在模板中使用了这样的帮助:

{{#ifUserInGroup user.id group.id}}
Run Code Online (Sandbox Code Playgroud)

我会把字符串'user.id'和'group.id'作为传递的参数.助手的写法如下:

Ember.Handlebars.registerHelper('ifUserInGroup', function(val1, val2, options){
   //This is where I would get the models, but val1 and val2 are strings, not id's...
});
Run Code Online (Sandbox Code Playgroud)

如果有人知道在条件中使用该方法的方法,或者如何将实际值传递给帮助器,请帮助我.

谢谢.

conditional templates helpers ember.js

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

我可以像这样使用条件运算符吗?

!isalpha( str[first] )  ? ( return isPalindrome( str, ++first, last ) ) : return isPalindrome( str, first, --last ) ;
Run Code Online (Sandbox Code Playgroud)

我收到语法错误.

c++ conditional operator-keyword

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

为什么不使用LET作为可选抛出错误,因为它是对Swift Intro书中的零 - 不一致的隐式比较?

我正在阅读Swift文档,并挂断了我认为文档不一致的内容.

报价1 - 控制流程部分

if语句中,条件必须是布尔表达式 - 这意味着诸如得分{...}之类的代码是错误,而不是与零的隐式比较.

因此严格的"布尔"将为TRUE或FALSE.

引用2 - 控制流程部分

您可以使用iflet一起使用可能缺少的值.这些值表示为选项.可选值包含值或包含nil以指示缺少值.在值的类型后面写一个问号(?)以将值标记为可选

var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}
Run Code Online (Sandbox Code Playgroud)

如果可选值为nil,则条件为false

因此,通过"布尔",它们似乎意味着"truthy/falsy",因为nil隐含地意味着错误

并跳过括号中的代码.否则,将解包可选值并在let之后其分配给常量,这使得在代码块内可用的展开值.

所以这里是我看到不一致的地方.在上面的代码示例中,由于optionalName具有值,因此该name变量被赋值为"John Appleseed".

因此,在比较中,我们最终得到了非布尔的表达 ; 特别是,"John Appleseed." 这是"真实的",但不是布尔值,这与第1点相矛盾!

换句话说 - 在代码中 - 在let中赋值后,我们有:

if "John Appleseed" {
    greeting = "Hello, \(name)"
} …
Run Code Online (Sandbox Code Playgroud)

conditional let optional swift xcode6

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

R中的条件计数和分组

type如果满足条件,我想计算每行有多少行x == 0.在SQL中类似于一个组

这是一个数据示例

  type    x    
search    0 
NULL      0 
public    0
search    1
home      0
home      1
search    0
Run Code Online (Sandbox Code Playgroud)

conditional r count aggregation

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

根据类型调用不同的功能

我想根据类型调用模板化函数中的不同函数,如下所示:

template<typename T>
T func() {
    static_assert(std::is_same<T, int>::value || /* other allowed types */ , "Type not allowed");

    T ret {};
    // if T == int
    funcInt(&ret);
    // if T == /* other types */
    /* other functions */

}
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

我试过这个:

std::function< int(*T)> query;
if (std::is_same<T, int>::value) {
    query = funcInt;
}
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误:

错误:'T'不是指一个值

c++ conditional templates

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

R有条件的lapply?

我有一个数据框,如

a = c(2,NA,3,4)
b = c(NA,3,NA,NA)
c= c(5,NA,7,9)
test = data.frame(a,b,c)

> test
   a  b  c
1  2 NA  5
2 NA  3 NA
3  3 NA  7
4  4 NA  9
Run Code Online (Sandbox Code Playgroud)

我想在test $ b中只填写NA值,测试$ a的平均值和该行的test $ c.结果应该是

   a  b    c
1  2  3.5  5
2 NA  3    NA
3  3  5    7
4  4  6.5  9
Run Code Online (Sandbox Code Playgroud)

我已经尝试了申请家庭,但没有得到任何地方.想避免for循环因为我被告知我应该尽量避免for循环.

用英语我想说,

if test$b[i] == NA, test$b[i] = (test$a[i] + test$b[i])/2
else leave test$b[i] as it is.
Run Code Online (Sandbox Code Playgroud)

我确信这种问题已被多次回答,但我找不到(或认出)类似的东西.提前致谢.

conditional r lapply dataframe

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