在这个简单的程序中,如何在每个实体之间添加一个逗号,但是将其关闭并结束?
$ cat array_maker.pl
#!/usr/bin/perl
use strict ;
use warnings ;
my @total = @ARGV ;
my $d_quote = chr(34);
my $comma = chr(44);
foreach my $total(@total) {
print " $d_quote$total$d_quote$comma" ;
}
我明白了:
$ ./array_maker.pl one two three four
"one", "two", "three", "four",
我想要这个:
"one", "two", "three", "four" #no comma at end of string.
答案 0 :(得分:3)
您可以改为迭代数组索引,并添加逗号unless $i == $#array;
。
但这是另一种方式
print join $comma, map { "$d_quote$_$d_quote" } @total;
答案 1 :(得分:2)
在循环开始时(必要时)比在结尾处打印逗号要容易得多。
for my $i (0..$#total) {
print "," if $i > 0;
print qq{"$total[$i]"};
}
print("\n");
我不推荐以下内容,但它表明您实际上并不需要索引:
for (@total) {
print "," if \$_ != \$total[0];
print qq{"$_"};
}
print("\n");
但join
效果更好。
print(join(",", map { qq{"$_"} } @total), "\n");
最后,看起来您正在生成CSV。你真的应该使用Text::CSV_XS了!
use Text::CSV_XS qw( );
my $csv = Text::CSV_XS->new({ binary => 1, auto_diag => 2 });
$csv->say(\*STDOUT, \@total);
将在必要时添加引号,并在必要时使用转义。
答案 2 :(得分:0)
这是一种方式
{{1}}
答案 3 :(得分:0)
交互方式是:
$(document).ready(function () {
var player = new YT.Player('youtube_videos_url');
$('#fs').on('click', function () {
player.playVideo();
var $$ = document.querySelector.bind(document);
var iframe = $$('#youtube_videos_url');
var req = iframe.requestFullscreen
|| iframe.webkitRequestFullscreen
|| iframe.mozRequestFullScreen
|| iframe.msRequestFullscreen;
req.call(iframe);
});
});