是否可以使用带有Groovy条件运算符的表达式包含语句?这就是我现在正在做的事情,我希望在一个带有println语句的条件语句中将其分解......
if(!expired){
println 'expired is null'
return true
}
else if( now.after(expired)){
println 'cache has expired'
return true
}
else
return false
Run Code Online (Sandbox Code Playgroud)
转换成单一陈述......
return (!expired) ? true : (now.after(expired)) ? true : false
Run Code Online (Sandbox Code Playgroud)
...想为调试目的做这样的事情......
return (!expired) ? println 'expired is null' true : (now.after(expired)) ? println 'cache has expired' true : false
Run Code Online (Sandbox Code Playgroud) 我的困惑源于这个标记语句的示例:
myLoop : while (expression) {
continue myLoop;
}
Run Code Online (Sandbox Code Playgroud)
以及一般标记语句的语法:
identifier : statement
Run Code Online (Sandbox Code Playgroud)
示例中到底标记了什么?
不是整个代码块:
while (expression)
statement
Run Code Online (Sandbox Code Playgroud)
考虑单个声明吗?或者while(expression)
它本身就是一个声明?或者while
它本身就是一个声明?
为什么不是全部:
while (expression) {
continue myLoop;
}
Run Code Online (Sandbox Code Playgroud)
标记在下面myLoop
,而不仅仅是while(expression)
。或者这种情况真的发生了吗?
我有一个关于在F#中使用do块的约定的问题.在使用.NET库类和其他.NET代码时,首先会出现这种情况.
让我给你举个例子.
1.使用do块包含语句:
let drawHelloName (width:int, height:int) name =
let bmp = new Bitmap(width, height)
use fnt = new Font("Arial", 12.0f)
use gr = Graphics.FromImage(bmp)
do
gr.Clear(Color.White)
gr.DrawString(name, fnt, Brushes.Black, PointF(10.0f, 10.0f))
bmp
Run Code Online (Sandbox Code Playgroud)
2.没有阻止:
let drawHelloName (width:int, height:int) name =
let bmp = new Bitmap(width, height)
use fnt = new Font("Arial", 12.0f)
use gr = Graphics.FromImage(bmp)
gr.Clear(Color.White)
gr.DrawString(name, fnt, Brushes.Black, PointF(10.0f, 10.0f))
bmp
Run Code Online (Sandbox Code Playgroud)
现在在我看来,我认为例子1更清晰,更符合F#的观点和风格.由于在函数式编程中处理语句并不是"自然",因此我们将语句显式地包装在do块中以表明它们是副作用.但我想知道,关于这个的惯例是什么?
假设我有这个URL:
www.example.com/product-p/xxx.htm
Run Code Online (Sandbox Code Playgroud)
以下javascript代码product-p
从URL中挑选出该短语:
urlPath = window.location.pathname;
urlPathArray = urlPath.split('/');
urlPath1 = urlPathArray[urlPathArray.length - 2];
Run Code Online (Sandbox Code Playgroud)
然后我可以使用document.write来显示短语product-p
:
document.write(''+urlPath1+'')
Run Code Online (Sandbox Code Playgroud)
我的问题是......
如何创建一个IF语句,如果urlPath1 ='product-p'然后是document.write(某事物),否则是document.write(空白)?
我试过这样做,但我的语法可能是错的(我不太擅长JS).
我最初认为代码是这样的:
<script type="text/javascript">
urlPath=window.location.pathname;
urlPathArray = urlPath.split('/');
urlPath1 = urlPathArray[urlPathArray.length - 2];
if (urlPath1 = "product-p"){
document.write('test');
}
else {
document.write('');
}
</script>
Run Code Online (Sandbox Code Playgroud) 是不是因为在打字时,当手被放置在默认的psotopn中时,分叉出现在小手指之下 - 食指用F和J?
还是有更实质的东西?
在处理这段代码一段时间之后,我几乎遇到了一个意外的问题。当将选项“ B”和“ C”作为用户输入键入时,if和else语句在屏幕上不显示任何内容。我已经尝试了一些方法,但是似乎无法弄清楚。
import java.util.Scanner;
public class Internet_Service_Provider
{
public static void main(String[] args)
{
double hours;
char choice;
Scanner input = new Scanner(System.in);
System.out.println ("Enter the letter of your package: ");
choice = input.nextLine().charAt(0);
System.out.println ("Enter the number of hours used: ");
hours = input.nextDouble();
double chargesa, chargesb, chargesc;
chargesa = 9.95;
chargesb = 13.95;
chargesc = 19.95;
double chargesa2, chargesb2;
chargesa2 = (hours - 10) * 2;
chargesb2 = (hours - 20);
double extrafeesA, extrafeesB;
extrafeesA = chargesa …
Run Code Online (Sandbox Code Playgroud) 如果在C#中有if语句,则检查多个条件:
if (a == 5 && b == 9) { ... }
Run Code Online (Sandbox Code Playgroud)
如果== 5条件为假,b == 9是否仍会被检查,或者它是否会自动退出,因为这样就不能再通过了?
同样,对于OR if语句:
if (a == 5 || b == 9) { ... }
Run Code Online (Sandbox Code Playgroud)
将b == 9仍然得到遏制,如果一个== 5是真的吗?
在 C++ 中,for
循环通常需要三个语句,其形式为:
for (init; condition; step)
{
Loop statements
}
Run Code Online (Sandbox Code Playgroud)
我可以用两个或多个语句来代替 吗init
?假设我想定义两个起始变量a
和b
。为此,我将使用int a = 1; int b = 5;
. ;
但是,由于语句之间有 a ,C++ 会将其解释int b = 5
为条件语句。有没有办法将整个语句集中到 中init
,也许可以使用括号?可以做类似的事情吗step
?
注意:我知道我可以在调用之前初始化变量for
。不过,我觉得将循环相关的语句放在循环的定义中会更符合逻辑。
我有以下问题.我必须解决一个问题.
水果或蔬菜根据输入字符串编写JS函数以打印"fruit","vegetable"或"unknown".
水果有:香蕉,苹果,猕猴桃,樱桃,柠檬,葡萄,桃子
蔬菜有:番茄,黄瓜,胡椒,洋葱,大蒜,香菜
所有其他人都不得而知
输入来自一个字符串元素的数组,即水果的名称.输出应打印到控制台.
示例:input ['banana']输出:fruit
示例:input ['cucumber']输出:vegetable
示例:input ['pizza']输出:unknown
我尝试过类似的东西.
function fruitOrVegetable(inputArr) {
var fruits = ['banana', 'apple', 'kiwi', 'cherry', 'lemon', 'grapes', 'peach'];
var vegetables = ['tomato', 'cucumber', 'pepper', 'onion', 'garlic', 'parsley'];
for (var i = 0; i < inputArr.length; i++) {
for (var j = 0; j < fruits.length; j++) {
for (var k = 0; k < vegetables.length; k++) {
if (inputArr[i] === fruits[j]) {
return ' fruit ';
} else if (inputArr[i] === vegetables[k]) …
Run Code Online (Sandbox Code Playgroud) 为什么y---3
语句表现得像y = 3
?有人可以解释一下吗?
#include <stdio.h>
main(){
int x=-2, y=4, z;
y---3;
printf("%d",y);
}
Run Code Online (Sandbox Code Playgroud) statements ×10
javascript ×3
c ×2
for-loop ×2
if-statement ×2
arrays ×1
c# ×1
c++ ×1
conditional ×1
conventions ×1
expression ×1
f# ×1
groovy ×1
java ×1
logic ×1
syntax ×1