class test{
public static void main(String... args){
double d=5.637;
System.out.println("double is:"+d);
long a=(long)d;
System.out.println("long is:"+a);
}
}
上面代码的输出是long is : 5,这与预期一致。
但是当我运行以下代码时:
class test{
public static void main(String... args){
double
我试图将sed的输出存储到变量中,但是输出与我所期望的不同。
我的测试如下
$ foo="this is (foo)"
$ x="$(sed 's/(/\\\\(/g' <<< $foo)"
预期的结果是:
$ echo $x
this is \\(foo)
我得到的结果是:
$ echo $x
this is \(foo)
但是,当我不将输出赋值给变量时,结果就是预期的结果:
$ sed 's/(/\\\\(/g' <<< $foo
this is \\(foo)
为什么我输出的存储失败?
注
在shell脚本中作为一个单独的命令运行以下代码将给出预期的结果:
for x in This is good; do echo $x; done
输出
This
is
good
但是,当我将它传递到字符串中时,由于某种原因,x没有被初始化。
cmd = " for x in This is good; do echo $x ; done"
eval $cmd
输出
//Three blank lines
为什么x不被初始化?
好的,这个问题实际上已经解决了,但是我仍然想知道为什么是。我试图从二维数组中删除元素,下面是代码:
print("adj in the while loop: ", adj)
for z in adj:
print("for loop: ", z)
if z[-1] is True:
adj.remove(z)
result += 1
print("adj after all execution: ", adj)
控制台输出:
adj in the while loop: [[1, True], [0, 2, Tr
我的代码不使用python中的sorted函数来对列表进行排序。输出结果与预期相反(从大到小,而不是从小到大) 将<更改为a>似乎有帮助,但我不确定为什么会这样 lista=[2,1,5,1,3,6]
for i in range(len(lista)):
for l in range(len(lista)):
if i==l:
continue
if lista[l]<lista[i]:
temp=lista[i]
lista[i]=lista[l]
lista[l]=temp
print(list
在代码段(print_end.py)下面运行。除以突出显示的模块化符号%结尾外,输出结果与预期的相同。
为什么这%?我不知道在哪里能找到医生的推荐信。
如果再添加一行print(),它将去掉%符号。
# txt = input('Give me anything: ')
txt = 'GitHub is NO.1!'
print(f'print before loop: {txt}')
for s in txt:
print(s, end='')
# print()
PyenvPython3.8.0输出:
Cond
下面是一个简单的查询,它给出了预期的结果。
select 1.1 as x, 1.1 as y;
x | y
-----+-----
1.1 | 1.1
(1 row)
在这里,相同的查询放在一个函数中。
CREATE OR REPLACE FUNCTION foo4(param integer)
RETURNS TABLE(x float, y float) AS
$$
DECLARE var float;
BEGIN
var = 1.1;
RETURN QUERY select var as x, var as y;
END;
$$
LANGUAGE 'plpgsql
我通常使用python编写脚本/程序,但最近开始使用JavaScript进行编程,并且在处理数组时遇到了一些问题。
在python中,当我创建一个数组并在y中使用x时,我得到如下信息:
myarray = [5,4,3,2,1]
for x in myarray:
print x
我得到了预期的输出:
5
4
3
..n
但我的问题是,当使用Javascript时,我得到了一个完全出乎意料的不同结果:
var world = [5,4,3,2,1]
for (var num in world) {
alert(num);
}
我得到的结果是:
0
1
2
..n
如何让Java
假设我们有带有局部变量的最简单函数:
int f()
{
static int a = 0;
return ++a;
}
让我们多次调用这个函数并打印结果:
int main()
{
int a = f();
int b = f();
std::cout<<a<<b;
}
输出为"12" - ok,如预期。但是这个电话
int main()
{
std::cout<<f()<<f();
}
生产反向订单- "21"。为什么?