★☆perlで「配列」したもの同士を比較するには☆★
■ このスレッドは過去ログ倉庫に格納されています
0001れい
NGNGどうしても分からないところがありまので、
だれかPerlに詳しい人がいたら教えてください。
例えば次のような、配列があり、配列2つを比較して
同じ数字がある場合には○、同じ数字が無い場合には×、
をつけるにはどうすればよいのですか。
@a=('1','3','6');
@s=('0','2','3','4');
foreach $s(@s){
foreach $a(@a){
if ($s == $a){
print "○$s";
}else{
print "×$s";
}
}
}
これだと、×0×0×0 ×2×2×2 ×3○3×3 ×4×4×4
このように表示されてしまいます。
これを、×0 ×2 ○3 ×4 というように表示したいのです。
だれか、分かる人いたら教えてくさい。(^o^)丿
0002デフォルトの名無しさん
NGNG0003perl初心者
NGNGfor (0..($max - 1)){
if ($s[$_] == $a[$_]){
print "○$s[$_]";
}else{
print "×$s[$_]";
}
}
これで動くかな。。。
↓こっちの方がいいよ
http://pc.2ch.net/php/
0004デフォルトの名無しさん
NGNGこの方法だと配列のサイズが変わってしまうような。
$max-1は$maxでいいような。
0005じゃあ、こう
NGNGfor (0..$min) {
if ($s[$_] == $a[$_]) {
print "○$s[$_]";
} else {
print "×$s[$_]";
}
}
00064
NGNGそれだと$min+1から$maxについて×が表示されないような。
配列をコピーして3のように$maxでやるか、
後で$min+1..$maxについて×を繰り返すか。
って、本質的に3で解は出てるわけでそこらへんどうでもいいですな。
ちゅうわけで終了ってことで。
Rubyを使え。
a = [1,3,6]
s = [0,2,3,4]
a & s #=> [3]
で、すぐ終わる。
上のように表示させたいなら、、
s.each do |i|
if (a & s).include?(i) print "○#{i} "
else
print "×#{i} "
end
end
で、終了
表示が崩れた、、、
s.each do |i|
if (a & s).include?(i)
print "○#{i} "
else
print "×#{i} "
end
end
訂正終わり
0010デフォルトの名無しさん
NGNGたぶんこうやればできる。
@a=('1','3','6','a');
@s=('0','2','3','4');
@x{@a}=(1)x@a;
print map{$x{$_}?"○$_ ":"×$_ "}@s;
001110
NGNG@a=qw(1 3 6);
@s=qw(0 2 3 4);
@x{@a}=(1)x@a;
print map{$x{$_}?"○$_ ":"×$_ "}@s;
0012デフォルトの名無しさん
NGNGなにこれ?初めて見た。説明希望。
001310
NGNG配列@aの要素の値をキーとしたハッシュ%xを生成して、値1で初期化しています。
@x{@a} は、ハッシュのスライスです。
@x{'1', '3', '6'} と同じ動作をします。
(1)x@a は、配列@aの数分だけ値1だけからなるリストを繰り返し生成しています。
(1,1,1) と同じ動作をします。
ちなみにここでのxは繰り返し演算子です。
たぶんこう書くべきでしたね。
@y{ @a } = (1) x @a;
print map { $y{&_} ? "○$_ " : "× $_ " } @s;
001410
NGNG>print map { $y{&_} ? "○$_ " : "× $_ " } @s;
$y{&_} 誤り
$y{$_} 正解
0015れい
NGNG0016デフォルトの名無しさん
NGNG001710
NGNGつうわけでこれをどうぞ。
@a=('1','3','6');
@s=('0','2','3','4');
%x = ();
foreach $a(@a){
$x{$a} = 1;
}
foreach $s(@s){
if($x{$s}==1){
print "○$s ";
}else{
print "×$s ";
}
}
0018デフォルトの名無しさん
NGNGPerl関連スレ@Webプログラミング板
【Perl 】初心者コーナーPart8
http://pc.2ch.net/test/read.cgi/php/1003900311/
CGIに依存しないPerlの話題一般
http://pc.2ch.net/test/read.cgi/php/991313362/
Perl関連スレ@プログラム技術板
Perlは結構使えるっぽいけどどうよ?
http://pc.2ch.net/test/read.cgi/tech/991994996/
Perl6について語れや。
http://pc.2ch.net/test/read.cgi/tech/993665608/
■ このスレッドは過去ログ倉庫に格納されています