ライブラリ
前に作った「麦わら海賊団」をライブラリ化してみます。
ライブラリは、サブルーチンだけを別のファイルに書いておいて、
それを本体で呼び出すといったものです。
本体をkaizoku.pl ライブラリを robin.pl にします。
トライ1
まず、ライブラリとは「サブルーチンのかたまり」なので、サブルーチンだけのファイルを作ります。
sub eastblue{
my @onepiece = ("rufy,zoro,sanji,nami,tyopper");
return @onepiece;
}
sub grandline{
my @onepiece3 = @_;
push(@onepiece3,"robin");
print @onepiece3;
}
この2つがサブルーチンなので、robin.plという名前で別のファイルに保存します。
サブルーチンで忘れてはいけないのが、最後につける1;です。
1をきちんとつけましょう!
残った部分
my @onepiece2 = eastblue(); #受け取る
grandline(@onepiece2); #渡す
この2つをkaizoku.plという名前で保存します。
そして、サブルーチンの呼び出し「require 'test-j.pl';」を処理より上に記入して、
eastblue() を、 &eastblueと書き直します。
さらに
grandline(@onepiece2);の部分を&grandline(@onepiece2);と書き直します。
さて、動かしてみましょう!!!
結果
rufy,zoro,sanji,nami,tyopperrobin
うまくいきました!!1回でうまくいったのでうれしくなってきました〜♪
でも、ライブラリって便利かな。。。??謎
MEMO++++++++++++++++++++++++++++++++
最後には必ず1;をつけよう。
- kaizoku.pl
#!/usr/bin/perl use strict; require 'test-j.pl'; my @onepiece2 = &eastblue; &grandline(@onepiece2);
- robin.pl
sub eastblue{ my @onepiece = ("rufy,zoro,sanji,nami,tyopper"); return @onepiece; } sub grandline{ my @onepiece3 = @_; push(@onepiece3,"robin"); print @onepiece3; } 1;