标签: conditional-statements

如何在 Ant 条件中使用脚本的输出

我想做类似下面的事情

<target name="complex-conditional">
  <if>
    <exec command= "python some-python-script-that-returns-true-or-false-strings-to-stout.py/>
    <then>
      <echo message="I did sometheing" />
    </then>
    <else>
      <echo message="I did something else" />
    </else>
  </if>
</target>
Run Code Online (Sandbox Code Playgroud)

如何评估在 ant 条件语句中执行某些脚本的结果?

java ant build conditional-statements

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

条件变量是如何实现的?

这让我困惑了很长时间。

给定基本的原子原语(例如比较和交换),我可以了解如何实现自旋锁(我可以从中构建互斥体)。

但是,我不知道如何从中构建条件变量。这是怎么做到的?

mutex conditional-statements compare-and-swap

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

基于 window.location.href 的条件 URL 附加或重定向的 Javascript

我正在尝试制作一个书签,单击该书签时将检查当前选项卡/窗口的 URL,以查看它是否包含“char1”和/或“char2”(给定字符)。如果两个字符都存在,它将重定向到另一个 URL,对于另外两个字符,它将分别附加当前 URL。

我相信一定有一种比下面的更优雅的方式来说明这一点(到目前为止对我来说效果很好),但我对 Javascript 不太了解。我的(笨拙且重复的)工作代码(抱歉):

if (window.location.href.indexOf('char1') != -1 &&
    window.location.href.indexOf('char2') != -1)
{
    window.location="https://website.com/";
}
else if (window.location.href.indexOf('char1') != -1)
{
    window.location.assign(window.location.href += 'append1');
}
else if (window.location.href.indexOf('char2') != -1)
{
    window.location.assign(window.location.href += 'append2');
}
Run Code Online (Sandbox Code Playgroud)

完全符合我的需要,但是,嗯……至少可以说不太优雅。

有没有更简单的方法来做到这一点,也许使用变量或伪对象?或者更好的代码?

javascript url bookmarklet append conditional-statements

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

python 线程 - “condition.wait”和“condition.notifyAll”如何工作

我有以下“消费者”代码:

    ....

    while 1:

        time.sleep(self.sleeptime)

        cond.acquire() #acquire the lock
        print currentThread(), "lock acquired"

        while itemq.isEmpty():
            cond.wait()

        itemq.consume()
        print currentThread(),"Consumed One Item"
        cond.release()
Run Code Online (Sandbox Code Playgroud)

以及以下生产者代码:

....     
while 1 :


           cond.acquire() #acquire the lock
           print currentThread(), "lock acquired"
           print currentThread(),"Produced One Item"
           itemq.produce()
           cond.notifyAll()
           cond.release()

           time.sleep(self.sleeptime)
Run Code Online (Sandbox Code Playgroud)

我正在与 1 个生产者和 2 个消费者一起运行该程序。我不知道会得到什么结果。生产者调用“notifyAll()”,因此我希望两个消费者都能从“等待”中醒来。我看到确实两个消费者都获得了锁,但只有第一个获得锁的消费者真正可以消费该项目。有人可以告诉我“等待”命令是如何工作的吗?如果两个线程都收到“notifyAll”,为什么只有一个线程可以消费?

谢谢,李

python multithreading wait conditional-statements

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

SQL 条件列存在性

我是否可以以某种方式选择视图中存在的列,但如果不存在则忽略该列?

SELECT
    CASE
        WHEN EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'MyView' AND COLUMN_NAME = 'MyColumn')
            THEN MyView.MyColumn
        ELSE NULL
    END AS [Sometimes]
FROM
    MyView
Run Code Online (Sandbox Code Playgroud)

现在,它会返回“Msg 207 无效的列名”错误。

也许可以选择忽略该错误?

sql exists conditional-statements

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

Spring boot @ConditionalOnBean 未检测到 bean 丢失,抛出异常“No Qualifying bean of type”

有这个 @Configuration 类,需要一个实现 JmsProperties 的 bean,该 bean 在 @ConditionalOnBean 中声明

@Configuration
@ConditionalOnBean(JmsProperties.class)
public class JmsConfiguration {

    @Inject
    private JmsProperties properties;
    ...
}
Run Code Online (Sandbox Code Playgroud)

获取异常:

   Caused by: 
   org.springframework.beans.factory.NoSuchBeanDefinitionException:        
   No qualifying bean of type [com.....JmsProperties] found for dependency: 
Run Code Online (Sandbox Code Playgroud)

@ConditionalOnBean 不是应该检测到这个缺失的 bean 并且不首先尝试注入依赖项吗?

预先感谢您的任何指点

dependency-injection conditional-statements spring-boot

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

用于处理复杂条件评估的设计模式

我的目的是维护一个系统,该系统考虑三个变量的值来确定将采取哪个操作。

我想重构它以使用设计模式,但找不到适合它需要的设计模式。

为了解释这种情况,我将以健身房系统为例。

每个健身房用户都有一个TYPE_OF_CONTRACT,可能是:

  • PLATINUM_会员资格
  • 金卡会员
  • 银级会员

健身房有一些GYM_CLASSES

  • 举重
  • 身体平衡
  • 纺纱
  • 尊巴舞
  • 个人培训

每个健身房用户都有一个PHYSICAL_CONDITION

  • 无限制
  • OVER_65
  • LIMITED_MOBILITY
  • 医疗条件
  • 下面_18

对于这三个特征的每种组合,都应该执行一组任意操作。例如:

如果是 PLATINUM_MEMBERSHIP + PERSONAL_TRAINING + OVER_65:

  1. 需要医疗批准
  2. 签署表格

如果是 GOLD_MEMBERSHIP + 个人培训 + OVER_65:

  1. 需要医疗批准
  2. 签署表格
  3. 额外月费

如果是 SILVER_MEMBERSHIP + PERSONAL_TRAINING + OVER_65:

  1. 拒绝订阅

如果(任何会员资格)+ 步骤 + 医疗条件:

  1. 需要医疗批准
  2. 签署表格

如果 PLATINUM_MEMBERSHIP + WEIGHT_LIFTING + LIMITED_MOBILITY:

  1. 需要医疗批准
  2. 签署表格
  3. 专职工作人员协助

等等。

特征的组合可以具有一组动作,这些动作不是排他性的并且并非所有组合都得到保证。

遗留代码使用嵌套开关作为实现。例子:

switch (contractType):

    case PLATINUM_MEMBERSHIP:

        switch (gymClass):            

            case (PERSONAL_TRAINING):

                switch (physicalCondition):            

                    case (OVER_65): …
Run Code Online (Sandbox Code Playgroud)

java refactoring design-patterns conditional-statements

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

通过否定查找匹配(基于缺失的字符串)

我已经在谷歌上搜索了很多关于这个的信息。我想要实现的目标是:如果 MIME 不是特定类型,我必须检查正则表达式条件。

例如,我收到了下一条消息:

image/png, image/jpeg, document/pdf
Run Code Online (Sandbox Code Playgroud)

我只想检测document/pdf部分,它是一个 MIME 类型,一个字符串,不以 image/ 开头

但无论我多么努力地寻找、尝试和使用 RegExBody 软件,我都完全无法匹配它。

我绝望地发布这篇文章,希望也许专家正则表达式可以帮助我。

我尝试了很多方法,主要是:找出非图像类型,不管有没有。

它只是拒绝工作。我尝试了正向预测和负向预测。但我可能用错了。我无法发布这些示例,因为我已经尝试并删除了很多示例。看起来真正接近工作的是,\b(?:(?!image/\w+))\w+\b但它只是坚持选择不匹配模式的第二部分。如果我使用:image/png 它会得到:png 这意味着它仍然会返回 true,尽管我的意思是忽略image/类型。

regex string mime conditional-statements

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

Angular Material(组件)中的条件按钮颜色属性

我有一个需要输入的组件.. @Input() coDeliveryCandidates: DeliverySlotView[];

这在模板中使用:

<ng-container *ngFor="let coDeliverySlotView of (coDeliveryCandidates | async)">
  <button
    mat-raised-button
    [color]=""
  >
    {{ label  }}
  </button>
</ng-container>
Run Code Online (Sandbox Code Playgroud)

color 属性需要一个字符串作为值,我想做一些类似的事情:

[color]="{
  black: coDeliverySlotView.slotId === bookedSlot.slotId,
  grey: !coDeliverySlotView.slotId === bookedSlot.slotId
}"
Run Code Online (Sandbox Code Playgroud)

在这里,我使用与 ngClass 相同的语法,但我想它不支持这种方式..那么还有哪些其他类似的方式呢?:)

conditional-statements angular-material angular-components angular

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

在列中插入条件行

我目前有一个跟踪已完成 5 次测试的数据集,但是它只显示那些已完成测试的人,而不是那些尚未参加的人 - 示例如下:

 Name   Test    Completed
John    Math-Test1  Yes
John    Math-Test2  Yes
John    Math-Test3  Yes
John    Math-Test4  Yes
John    Math-Test5  Yes
Lauren  Math-Test1  Yes
Lauren  Math-Test2  Yes
Lauren  Math-Test3  Yes
Tom     Math-Test1  Yes
Tom     Math-Test2  Yes
Tom     Math-Test3  Yes
Tom     Math-Test4  Yes
Tom     Math-Test5  Yes
Run Code Online (Sandbox Code Playgroud)

如您所见,Lauren 尚未参加“Math-Test4”和“Math-Test5”测试,因此她的名字没有出现。我想添加一个选项,让“已完成”列在有人尚未完成测试时显示“否”。

所需的输出如下:

Name    Test    Completed
John    Math-Test1  Yes
John    Math-Test2  Yes
John    Math-Test3  Yes
John    Math-Test4  Yes
John    Math-Test5  Yes
Lauren  Math-Test1  Yes
Lauren  Math-Test2  Yes
Lauren  Math-Test3  Yes
*Lauren Math-Test4  No* …
Run Code Online (Sandbox Code Playgroud)

python numpy rows conditional-statements pandas

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