Perl Harbor - 2

このエントリーをはてなブックマークに追加
1ななし
2名無しさん?:02/06/13 01:57 ID:???
2げと
3名無しさん?:02/06/13 01:58 ID:???
4日光ポンポコリン ◆MHz.As4U :02/06/13 01:58 ID:???
5 ◆YSKxy0Nc :02/06/13 01:58 ID:JCGEyQXo
ふぁfば
6名無しさん?:02/06/13 01:59 ID:???
オナニー後は、ブラクラじゃなきゃどんなリンクでも勢いよく踏む勇気ある俺(勇者)
7き゚д゚のこ:02/06/13 01:59 ID:???
>>3
パールハーバーだ
8名無しさん?:02/06/13 02:01 ID:???
ところで>>1のやつは、ワルードカプ板でスレたってて盛り上がってたやつだな。
ラウンジでも盛り上がると思ったんだろうな。。
91:02/06/13 02:01 ID:???
なんて自作自演をしてみる。
10shixyabonn ◆mP3Qm8nE :02/06/13 02:14 ID:???

 >>3
 ウソツキ。。。 (−_−)
 戦争のどんちゃん画像かと思って見ちゃったよ。

 っていうかパールハーバーっていう名前で出回ってる画像?
 そうだったらごめんなさいです。
11ざき ◆a/globe2 :02/06/13 02:17 ID:???
>>10
何の画像だ。


以下俺のPerlスレだからな よろしくな!
12shixyabonn ◆mP3Qm8nE :02/06/13 02:20 ID:???

 >>11
 太った女の人の画像だった。
 ウワァァァン 。・゜゜(´□` )゜゜・。

 Perlスレ わっしょい Perlスレ わっしょい (゚ー゚)
13ざき ◆a/globe2 :02/06/13 02:43 ID:???
一応前スレ。
http://zaki.dip.jp/x/test/read.cgi/entrance/1020181087
datおちしてるのでこれでお願い。
14ざき ◆a/globe2 :02/06/13 06:17 ID:???
配列のpushまでおわってたはずだ。
15shixyabonn ◆mP3Qm8nE :02/06/13 07:50 ID:???

 ゴシゴシ。。。 ヨフカシシスギタ。。 (⊃_−) ねむい。。。

 前スレ読みました。難しいっぽ。(´・ω・`) ショボーン
 本を買ってきて、勉強しようと思ってみたり。

 でも3ページ目くらいで爆睡してしまいそうな予感。(どーん
16ざき ◆a/globe2 :02/06/13 18:06 ID:???
ほんと中途半端なとこで終わらしたから読み直さなきゃな
かっちゃんですよ。
18ざき ◆a/globe2 :02/06/14 00:12 ID:???
pop shift unshiftからですね。
19shixyabonn ◆mP3Qm8nE :02/06/14 02:31 ID:???

 帰り図書館のパソコーナーでちろっと読んでみた。
 むずかすぃ。。。(´〜`;)

 でもがんばろっと。
20ざき ◆a/globe2 :02/06/14 09:38 ID:???
図書館にそんなのあるんですか。
いいな。俺全部買ってるよ。。
夜書く。
21ざき ◆a/globe2 :02/06/14 17:21 ID:???
勝ちましたな。
22ざき ◆a/globe2 :02/06/15 07:16 ID:???
もう朝だね。
23名無しさん?:02/06/15 14:04 ID:???


2 c h 必 死 だ な (w

24名無しさん?:02/06/15 14:05 ID:???


2   c   h   必   死   だ   な   (w


25shixyabonn ◆mP3Qm8nE :02/06/15 20:38 ID:???

 センセイッ
 いつ授業はじまるのですか!! ヽ(`Д´)ノ

 ちゃんと勉強しにきてるのに。。。 (−_−)
26ざき ◆a/globe2 :02/06/16 00:00 ID:???
生活のリズムが激しく変なものでな、、、、
27shixyabonn ◆mP3Qm8nE :02/06/17 02:21 ID:???

 |今日もセンセイはこないぽ。
 |自習だワッショイ 予習だワッショイ 復習ワショーイ(ガンガレ自分。)
 \__ ____________
      V
    /■\∩
    ( ´∀`)ノ
  _(つ   ノ_
  \ ̄ ̄ ̄ ̄  \
   ||\        \
   ||\|| ̄ ̄ ̄ ̄|| ̄
   ||  || ̄ ̄ ̄ ̄||
     ||      ||
28ざき ◆a/globe2 :02/06/17 06:36 ID:???
 pop =================
popは配列の最後の値を取り出す。

配列lineの最後の値を取り除ぞく。
pop(@line);

つまり pop(配列名); とシンプルな形でかける。
覚えやすいかもしれない。
しかし書き方がもう一個ある。

$X = pop(@line);

である。
これは配列lineの最後の要素が取り出されて
その中身が変数Xに代入される。

最後の要素を取り除きたいだけなら  pop(配列名);
取り除いてその値も知りたいなら  変数 = pop(配列名);

である。
29ざき ◆a/globe2 :02/06/17 06:41 ID:???
 コラミュ --------------------------
最後の値を知るだけなら
いろいろ方法はある。

以下は配列lineの最後の値を変数last
に代入するサンプルである。

1 $last = $line[-1];
2 $last = $line[$#line];
3 $last = $line[@line - 1];
4 $line = pop(@line);

123は配列の添え字をいじっている。
添え字で一番最後をあらわすのは
俺が思い浮かぶ限りこの3つがある。
4つめはさっきやった。
123との違いは配列の内容も変わるという点だ。

ちなみに4は
 $last = $line[-1];
 pop(@line);
などとしてもOkなのはわかると思う。
30ざき ◆a/globe2 :02/06/17 06:52 ID:???
============ 続 ============

上の3に見慣れない表現があったかもしれない。
 $last = $line[@line - 1];
添え字の中に@lineがはいっている。
これはどういうことなのか。

まず添え字とは基本的に数字である。
1は一番最後をあらわし
2は$#lineという配列の一番最後の要素の添え字が
自動的に代入されている。

つまり添え字は数字でなければならない。
添え字に数字以外が指定されるとわけわからないことになるだろ?
よって添え字はがんばって数字として解釈してくれるのだ。

@lineを数字とみなした場合。
これは予想がつくかもしれないが
配列lineの要素の数(要素の数であるので$#lineよりは+1)
とみなされるのである。
31ざき ◆a/globe2 :02/06/17 06:52 ID:???
============ 続 ============

Perlには数字とみなす状況では数字とみなしてくれる。
などという便利な機能がついちゃってるのである。

よって
 $line = @line;
などとすると
$lineには配列のようその数が代入されるし
 $line2 = @line - 1;
とすれば最後の添え字が代入できる。

またいままで
 $x = 2;
 $X = 10;
 $y = '6';
 $Y = "3";
など適当に数字を代入してきたが
 print $x + $X;
 print $X + $y;
 print $y + $Y;
を実行すると
ちゃんとそれぞれ12 16 9などと表示されていたはずである。
しかし$yと$Yは文字である。それに対し$x,$Xは数字として代入されている。
つまり4という数字と4という文字の違いである。
文字は普通足し算とかの計算はできないはずである。

しかしPerlは文字であるはずのものを数字と判断してくれる。
よって print $X + $y;は
10+6となってくれるのである。

この数字であるべきところでは数字で。
文字であるべきところでは文字で。
という概念を覚えておいてください。
32ざき ◆a/globe2 :02/06/17 17:16 ID:???
次はunshift。
33ざき ◆a/globe2 :02/06/17 17:25 ID:???
つーかね。
いっこだけ関係ないこと言わせてね。
なんでだれも Perl じゃなくて Pearl だろ!
って突っ込まないんだろうね。
34ざき ◆a/globe2 :02/06/17 21:30 ID:???
 unshift -------------------

unshiftは配列の最初に値を代入する。
いや、押し込むというほうが正しいかもしれない。

unshiftすると一番最初に値が代入され
今までの配列はズレる。

(添え字が)
0だったものが1へ
1だったものが2へ
・・・・

という風に最初に押し込んで後はずれてくれる。
35ざき ◆a/globe2 :02/06/17 21:30 ID:???
============ 続 ============

pushなどはそれ自体を使わなくても
容易に表現が可能であったが
unshiftをほかの方法で実現させようとおもうと
容易ではない(できるが)。

文法はpushと同じ。
 unshift(@Line,$X);
 unshift(@Line,5);
 unshift(@Line,5 + 10);
 unshift(@Line,'10');
 unshift(@Line,"51");
 unshift(@Line,'うんこ');
 unshift(@Line,"ちんこ");
 unshift(@Line,$X + $u);

文法
 unshift(配列 , 代入したいもの);
36shixyabonn ◆mP3Qm8nE :02/06/18 00:37 ID:???

  +                          +  +
 +        生徒 待機中・・・      +
    +                         +
 +                           +
  +                        +

     先生マダー?
   /■\    ./■\         /■\
  ( ´∀`)△ ( ´∀`)       (・∀・ )マダミタイヨー。
   /    つ  ⊃目⊂) ∬    ⊂  ⊂ )
  (人_つ_つ (_(_) 目△▲  (_(_つ
              ┗━━━┛
37shixyabonn ◆mP3Qm8nE :02/06/18 00:39 ID:???

 って、先生もう、来てるYO!! ウワァァァン ヽ(`Д´)ノ
38shixyabonn ◆mP3Qm8nE :02/06/18 00:40 ID:???

          授業だワッショイ!!
       \\  勉強ワッショイ!! //
   +   + \\ 開始だワッショーイ!!/+
                            +
.     +   /■\  /■\  /■\  +
        ( ´∀`∩(´∀`∩)( ´∀`)
   +  (( (つ   ノ(つ  丿(つ  つ ))  +
         ヽ  ( ノ ( ヽノ  ) ) )
         (_)し' し(_) (_)_)
39shixyabonn ◆mP3Qm8nE :02/06/18 00:51 ID:???

 明日「一週間でマスターするPerl for Windows」っていうの買おうと思います。
 電車の中でも勉強するです。 3日坊主だけどがんばる。
40ざき ◆a/globe2 :02/06/18 07:27 ID:???
 shift -------------------

shiftは配列の最初の値を取り除く。
最初のを取り除くと今までの配列の要素は
1個減りいっこずつずれる。

unshiftと同様でほかの方法で記述するのは容易ではない。

popと同じで
・単に取り除くのみ
・取り除いたものを代入
という2つの使い方ができる。

pop(配列);
変数 = pop(配列);


変数 = pop(配列);

変数 = 配列[0];
pop(配列);
と同じ意味であることはわかると思う。
41ざき ◆a/globe2 :02/06/18 07:33 ID:???
じゃまくさいからこれでゆるせ。

  ___________
  |____| 最初 | 最後 |
  | 挿入.|unshfit|push .|
  ├──-┼───┼──┤
  | 削除.| shift | pop |
  └───┴──┴──┘
42ざき ◆a/globe2
 unshiftをほかの方法で実現させてみようのコーナー(読み飛ばし推奨)

配列 @line
変数 $X

・unshift
$line_len = @line;
for($i=$line_len;$i>0;$i--){
$line[$i] = $line[$i - 1];
}
$line[0] = $X;


これであってるはずだと思うが。