标签: unless

Ruby 除非以 || 为条件 操作员

我对 Ruby except 条件如何与 || 一起使用感到困惑 操作员。

所以我基本上得到的是:

<% unless @instance_variable.method || local_variable.another_method %>
  code block
<% end %
Run Code Online (Sandbox Code Playgroud)

目前,第一部分评估为 false,第二部分评估为 true。而且我没有收到错误,它满足了我的要求。但是,如果我只是写:

<% unless @instance_variable.method %>
  code block
<% end %>
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,当我写入时收到一个错误:

<% unless @instance_variable.method && local_variable.another_method %>
  code block
<% end %>
Run Code Online (Sandbox Code Playgroud)

所以我的问题。如果第一部分的计算结果为 false,它会缩短并遍历代码块,而不看另一侧吗?如果是这样,为什么省略第二部分会引发错误?这一切是如何运作的?

如果您需要代码,我很抱歉,我觉得这是一个逻辑/代数解决方案。

ruby ruby-on-rails demorgans-law conditional-statements unless

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

为什么 perl 中的 except 函数不起作用

我正在编写一个简单的 Perl 脚本,该脚本根据用户给出的小时数计算付款,该程序不得允许超过 500 小时的付款,但必须允许女性最多 600 小时,我正在使用 except 函数,但它不起作用女性的工作时间可以超过600小时。

这是我使用的代码

print("Enter your working hours");
    $hours=<stdin>;
    print("Enter your gender");
    $gender=<stdin>;
    chomp($gender);
    unless($gender ne "f" && $hours>=600){
        print("Your have earned ",$hours*10," Birr \n");
    }
    else{
         unless($hours>=500){
            print("Your have earned ",$hours*10," Birr \n");
        }
        else{
            print("You have worked beyond the payable hrs!");
        }
    }
Run Code Online (Sandbox Code Playgroud)

perl unless

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