作者johnnycgi (红茶不加糖)
看板perl
标题Re: [问题] 关於标准输出
时间Wed May 16 08:36:49 2007
※ 引述《tgbsa (每天进步一点点)》之铭言:
: 小弟我自学还是个刚写perl的新手,之前都在写C的程式
: 可是对於perl真摸不透他,有些东西感觉上有点不能接受冏
: 想请问各位为什麽
: print (int(rand 42)+1) , "\n" ;
: 这样没有换行效果
: print "\n" , (int(rand 42)+1) ;
: 这样却有了...
: 另外如果把上面那行写成
: $num = (int(rand 42)+1);
: print $num ,"\n" ;
: 却又变成有换行效果了,真是奇怪!!
: $num 跟 (int(rand 42)+1) 的东西不是相等吗?
: 先谢谢各位了!!
改成
print(int((rand 42)+1), "\n");
应该可行
在出问题的时候使用最正规的写法
也就是所有函式参数前後都加上()是不错的方式
原本print正规写法就是print();
只是PERL允许省略()
我自己也偏好省略
看起来比较清爽
不过如果确定每行输出都会换行
直接设定$\ = "\n";可能更快更方便
我自己都是这样的
会更加清爽 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.244.8.125
1F:→ tgbsa:谢谢 05/16 13:29