リファレンスマニュアル/サブルーチン/list_in
https://sos2wiki.chimata.org/?%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB/%E3%82%B5%E3%83%96%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3/list_inサブルーチン †
全キャラクターのユーザーデータを配列としてリスト化するサブルーチン。
予め sub get_file の実行が必要。
ソースコードの解説 †
sub list_in { return if $listinflag;
一度でも実行していた場合、サブルーチンを実行せず終了する。
foreach $no (0 .. $#usrfile) {
sub get_file にて @usrfile にユーザーデータのファイル名が配列として格納されるので、それを評価してゆくループブロック。
$no には順にユーザーデータのファイル名が代入される。
open(IN,"$usrdir$usrfile[$no]") || &error("Can't open $usrfile[$no]");
open関数 でユーザーデータファイル($no)を入力モードでオープンし、ファイルハンドル IN に結び付ける。
ファイルオープンに失敗した場合 sub error を実行し、エラーメッセージをHTMLに出力する。
$line = <IN>; close(IN);
オープンしたユーザーデータの1行目を $line に代入し、ファイルハンドルをクローズする。
push(@lstlines,$line); }
$line を順に配列の要素として @lstlines へ追加してゆく。
$listinflag = 1; }
サブルーチンを実行した場合、処理の最後で $listinflag を真にする。
この変数が真である限り、このサブルーチンは実行されない。
キーワード解説 †
open関数 †
get_user 参照
< >入力演算子 †
get_user 参照
push関数 †
- push ARRAY, LIST
- ARRAY … 元となる配列。
- LIST … 追加する要素。
ARRAYの末尾にLISTを追加し、追加後の配列を返す。
関連項目 †
コメント †
コメントはありません。 Comments/リファレンスマニュアル/サブルーチン/list_in?
Last-modified: 2018-07-29 (日) 18:38:28 (204d)