我是编程新手,我想知道是否有正确的方法来订购控制结构逻辑.
首先检查最可能的情况似乎更自然,但我觉得有些控制结构不起作用,除非他们检查所有错误的东西以得到真实的东西(逻辑演绎?)
很难适应这种"负面"观点,我更喜欢更积极的前景,假设一切都是真的:)
我试图逐列替换R数据帧中的值.我想,虽然循环数据框的列的定列表和0代替1"是"的价值观和所有其他的值.
我尝试使用transform()和ifelse()函数执行此操作,如下所示:
# List of selected Columns:
ColumnNames = c("Frigori", "Microond" , "Arca", "Aspira")
# Replace Values in dataframe
for(i in 1:length(ColumnNames)){
dataframe <- transform(dataframe, ColumnNames[i] = ifelse(Columnames[i] == "Yes", 1, 0))
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常循环外显式的列名,但与阵列,它会给我下面的错误:
Error: unexpected '=' in:
"for(i in 1:length(Appliances)){
dataframe <- transform(dataframe, ColumnNames[i] ="
Run Code Online (Sandbox Code Playgroud)
我不知道这里出了什么问题,但问题必须与变量替换有关.
我有以下方法:
public override bool IsSatisfiedBy(SourceFile candidate)
{
Console.WriteLine("Check 1: " + One.IsSatisfiedBy(candidate));
Console.WriteLine("Check 2: " + Two.IsSatisfiedBy(candidate));
Console.WriteLine("Check 3: " + Three.IsSatisfiedBy(candidate));
return One.IsSatisfiedBy(candidate) && Two.IsSatisfiedBy(candidate) && Three.IsSatisfiedBy(candidate);
}
Run Code Online (Sandbox Code Playgroud)
如果我将SourceFile作为不满足规则1的参数传递,则不检查规则2和3.我知道这是正确的方法,但我想更多地了解确切的行为,但我找不到任何东西,因为我不知道这种行为是什么:D
以下哪种方法更有效,更快捷
嵌套条件
if( a == b ) {
if( b1 == c ) {
if( c1 == d ) {
}
}
}
Run Code Online (Sandbox Code Playgroud)逻辑表达式
if( a==b && b1 == c && c1 == d) {
}
Run Code Online (Sandbox Code Playgroud)一般来说,上述哪种方法更快,为什么?在编写库时应该优先考虑哪一个?我知道在第一种方法中,只有当上面的if语句结果为真时才会执行一个块.在第二种方法中,由于条件评估是从左到右,如果先前的条件是先前条件,它也将跳过下一个条件假...我是对的?
如果是这样,两种方法之间是否有任何性能差异?
如果有阻止那样的话
if(foo() || foo2() || foo3())
{
//do some things
}
Run Code Online (Sandbox Code Playgroud)
我只需要一个foo函数来返回true来执行该代码.但我必须打电话给所有人.当第一个foo返回true时问题开始.这样就不会调用其余的foos(foo2和foo3)了.
我知道我可以这样做:
bool foo1 = foo1();
bool foo2 = foo2();
bool foo3 = foo3();
if(foo1 || foo2 || foo3) {}
Run Code Online (Sandbox Code Playgroud)
但我有18个foo函数,这是我的代码的一小部分.有什么技巧可以简单易行吗?
我在SQL返回上有一个if/else工作.如果它为空我显示默认值.
<?php
if($row['imagename']==='')
{
echo "placeholder.png";
}
else
{
echo htmlspecialchars($row['imagename'], ENT_QUOTES, 'UTF-8');
} ?>
Run Code Online (Sandbox Code Playgroud)
我试着把它全部放在一条线上,即
<?php ($row['imagename']==='') ? echo "placeholder.png";:echo htmlspecialchars($row['imagename'], ENT_QUOTES, 'UTF-8'); ?>
Run Code Online (Sandbox Code Playgroud)
哪个失败了.
有人可以澄清它失败的原因吗?
TIA
在研究iOS问题时,我发现了以下答案:如何判断UIViewController的视图是否可见
答案的细节并不重要,但重要的是它基本上说如果你有一个看似如下的条件语句......
if(X && Y)
{
//do stuff here
}
Run Code Online (Sandbox Code Playgroud)
如果X为假,则永远不会评估Y. 这是真的?是否可以肯定编译器不会优化它if(Y && X)?
因此,我正在为java中的codeeval编写一个mersense脚本,以便使用该语言进行一些练习(我对它很新).有一次,我正在检查数字是否为素数,在我的方法中,我进行正常检查,一切看起来都很棒
public static boolean isPrime (int testValue){
if (testValue < 4){
return true;
} else if (testValue % 2 == 0){
return false;
} else {
for (int I = 1; I < Math.sqrt (testValue); I++){
if (testValue % I == 0 ){
return false;
}
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
然而,唯一能够通过的事情似乎是1和3.在for循环之后我不能做那个回报是什么错了吗?有任何想法吗?
编辑:
这是完整的代码:
import java.io.*;
import java.lang.Math;
public class Main{
public static void main(String[] args) throws IOException {
File file = new File(args[0]);
BufferedReader buffer = new BufferedReader(new FileReader(file)); …Run Code Online (Sandbox Code Playgroud) 为什么以下产生输出"ayyayy"而不仅仅是"ayy"(曾经)?
def iftest(b: Boolean): Unit = {
if(b) iftest(false)
print("ayy")
}
Run Code Online (Sandbox Code Playgroud)
我在REPL中运行它iftest(true)应该导致它在第一次传递时失败但在第二次传递时失败(因此只有一个"ayy").那为什么它既成功又成功呢?
在scala中是否存在某些我不知道的递归"后退"?
我有一个输入,其中包含8个项目的下拉列表.根据用户选择的选项,我想将其输入值更改为不同的字符串值.为了做到这一点,我使用一吨,如果else语句,使这个看起来很笨重,我想,如果在所有可能的凝结这一点.我有以下代码:
if (inputFive == "Corporation"){
inputFive = "534"
} else if (inputFive == "LLC"){
inputFive = "535"
} else if(inputFive == "LLP"){
inputFive = "536"
} else if(inputFive == "Partnership"){
inputFive = "537"
} else if(inputFive == "Sole Proprietorship"){
inputFive = "538"
} else if(inputFive == "Limited Partnership"){
inputFive = "539"
} else {
inputFive = "540"
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这看起来有点老派,我想看看是否有更好/更简单的方法来实现这一点.只是想尽可能地压缩这段代码.我相信他们可能是通过分配键/值对象来创建字典的方法,但我不知道如何正确地执行此操作...所有选项/提示将不胜感激!
conditional ×10
if-statement ×3
javascript ×2
loops ×2
c# ×1
c++ ×1
dataframe ×1
dictionary ×1
ios ×1
java ×1
logic ×1
objective-c ×1
performance ×1
php ×1
r ×1
return ×1
scala ×1