Hatena::Grouparaistudy

iwasekiの日記

2006-09-26

[]3章 リスト配列(その3) はてなブックマーク - 3章 リストと配列(その3) - iwasekiの日記

shift演算子とunshift演算子

poppushスタックの最後尾への処理なのに対して、shiftとunshiftは先頭への処理なんだそうな。

演算子名から判断しづらいのはオレだけ?

#!/usr/bin/perl -w

@list = qw/ 111 2222 33333 /;
$abc = shift @list;                     #shiftはpopと同様で値を取出す
$def = shift @list;
unshift @list, 4444444;                 #unshiftはpushと同等で値を入れる
unshift @list, 5555;

print $abc,"\n";
print $def,"\n";
print @list,"\n";
111
2222
5555444444433333

これ、数値だとうまくいくクセに文字列だとなんか警告がでるんだよね。

#!/usr/bin/perl -w

@list = qw/ katuo wakame sazae /;
$abc = shift @list;                     #shiftはpopと同様で値を取出す
$def = shift @list;
unshift @list, masuo;                   #unshiftはpushと同等で値を入れる
unshift @list, tarao;

print $abc,"\n";
print $def,"\n";
print @list,"\n";
Unquoted string "masuo" may clash with future reserved word at ./shiftunshift2.pl line 6.
Unquoted string "tarao" may clash with future reserved word at ./shiftunshift2.pl line 7.
katuo
wakame
taraomasuosazae

よく確認してみると、マスオさんタラちゃんダブルクォーテーションで囲まれてないのを発見して・・・orz

czk-htnczk-htn2006/09/30 05:58shiftとpushは激しく使う。unshift,popはあまり使わないな、foreachで取り出すことの方が多いからか。エロい人のコードにはunshiftありまくりだけど。

AthifAthif2013/03/20 18:44Normally I'm aagisnt killing but this article slaughtered my ignorance.

laogznlaogzn2013/03/21 09:06MByAhO <a href="http://rebkviaucryx.com/">rebkviaucryx</a>

rdvhjnurdvhjnu2013/03/22 22:39HYNQ6J , [url=http://inyuohakobxz.com/]inyuohakobxz[/url], [link=http://pqrixzpalqlx.com/]pqrixzpalqlx[/link], http://qljgyuuqeddf.com/