月宮あゆのPerl教室 Part.4
レス数が1000を超えています。これ以上書き込みはできません。
0001月宮あゆ
02/02/19 14:34ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0900nobodyさん
03/03/19 15:28ID:???my %param = @_;
#何か
return ...;
}
0901nobodyさん
03/03/19 15:28ID:???( ´,_ゝ`) プッ $x= 'A'でも1足すのかよ
$x= 'A';
$x++;
print $x; # これはB
$x= '?';
$x++;
print $x; # これは1
よく頭に叩き込んでおけ
0902nobodyさん
03/03/19 15:28ID:???^ =>最初
$ =>最後
文字
. =文字
[..] =>文字クラス。括弧の中の、任意の1文字
[^..] =>中身以外の文字を1つ
繰り返し
* =以上
+ =以上
{n} =>n回
{n,m} =>n以上m未満
{n,}、{,m} も可能
(?:...) =>まとめるだけでいいとき
(...) =>後から$1とかで使うとき
\1 \2 \3 =>パターンマッチの中で使える。
$1 $2 $3 =>外で使う
0903nobodyさん
03/03/19 15:28ID:???確かに、これだけじゃちょっと・・・
変数のスコープとか、GC,
サブルーチン内でグローバル変数を変更する事のリスクとか。
後できちんとフォローすれば大丈夫。多分。。。
0904nobodyさん
03/03/19 15:28ID:???綾波レイのWEB制作管理教えますれ
http://pc3.2ch.net/test/read.cgi/hp/1023741627/l50
0905nobodyさん
03/03/19 15:29ID:???use strictなんてきらいだよー。
0906nobodyさん
03/03/19 15:29ID:???0907nobodyさん
03/03/19 15:29ID:???0908nobodyさん
03/03/19 15:29ID:???|. ノノソハ)))
(\リリ ´ー`)リ < サブルーチン (2) 返り値
(ニE(#つo⊂#)
サブルーチンでは、返り値 (かえりち) っていうものが作れるよ。
「返り血」とか変なこと言ったら嫌だよ。
$x = &xxx; # $x には abc が代入されるよ。
sub xxx{ return "abc"; }
return ●
…●を返り値として、呼び出し元に戻る。
ちょっとここで注意だけど、この関数は、絶対にサブルーチンの外で
使っちゃだめなんだ。戻る場所がないからね。
ふたつ以上の返り値を送りたいなら、
return ( $a, $b, $c );
みたいに配列にして送るといいよ。
受け取るときは、
( $a, $b, $c ) = &xxx;
こうやって受け取ることができるよ。
それか、配列をあらかじめ作っておいて、
return @xxx;
@xxx = &xxx;
みたいなこともできるよ。
0909nobodyさん
03/03/19 15:29ID:???サブルーチン、はとりあえず (4) か (5) まで続くと思うよ。
今は (4) の途中まで書いてるからね。。
確かに、オートインクリメント演算子は、「1足す」じゃなくて、
「値を1増加させる」っていう機能なのはその通りなんだけど、
そんな扱ってないようなことを勝手に進めないで。
先に「省略してるところもある」ってちゃんと言ってるんだから。
そんなことはあまり知る必要ないんじゃない?
必要最小限のことは付け足すからね。
ボクはPHPはほとんどできないんだよね。。
勉強するにもPHPの入門書が数ないからねえ。。
0910nobodyさん
03/03/19 15:30ID:???0911nobodyさん
03/03/19 15:30ID:???標準ライブラリの中にもその使い方をしているものもあるよ。
ところで、-wスイッチとuse strictの説明の予定はあるの?
コーディングを楽にするためにも、まずその説明をした方が良いと思うね。
同じ意味だと思うよ。
0912nobodyさん
03/03/19 15:30ID:???よかった、前から気になっていたんだ。
0913nobodyさん
03/03/19 15:30ID:???0914nobodyさん
03/03/19 15:30ID:???0915nobodyさん
03/03/19 15:30ID:???foreach
これってフォーイーチ?
フォーリーチですか?
気になって仕方ないです…
お願いします。
0916nobodyさん
03/03/19 15:30ID:???0917nobodyさん
03/03/19 15:31ID:???0918nobodyさん
03/03/19 15:31ID:???0919nobodyさん
03/03/19 15:31ID:???|. ノノソハ)))
(\リリ ´ー`)リ < サブルーチン (3) 局所化
(ニE(#つo⊂#)
サブルーチン、といえばこの関数はよく出るから覚えておいてね。
my と、 local と、 return だよ。
return は、もう勉強したからいらないね。
じゃあ、今回は my と local について勉強するね。これはほとんど同じ意味だよ。
だから、ここでは同じものとするね。いつか機会があれば、説明するね。
my ●;
local ●;
…どっちも、変数●または配列●を、そのサブルーチンの中だけで
有効にする、っていうことだよ。
my 宣言された変数を、プライベート変数、 local はローカル変数、っていうよ。
逆に、スクリプト全体で使える変数をグローバル変数、っていうよ。
【いちばん内側の { } で囲まれた範囲だけで有効な変数】っていうことかな。
この有効範囲を、スコープ、っていうよ。
my $xxx; # $xxx を my 宣言する
$xxx = "abc"; # 前の行で my 宣言されている
$yyy = $xxx; # $yyy は my 宣言されていない
my $zzz = "xyz"; # $zzz はここで my 宣言される
じゃあサンプルだよ。
$my = "abc"; $test = "abc";
&xxx;
print "my 宣言した変数=$my<br>\nしてない変数=$test";
sub xxx{ my $my = "xyz"; $test = "xyz"; }
0920nobodyさん
03/03/19 15:31ID:???eval の中かな?
eval はまだ取り扱ってないから、出てきたときに説明しようと思って、
こんなところで「eval」って出したら混乱する人もいそうだから、
あえて説明しなかったんだよね。。
-w とか strict は、知っておいた方がいいことだろうね。。
-w は未定だけど、 strict はそのうち勉強する予定だよ。
ふぉーいーち、だと思うよ
0921nobodyさん
03/03/19 15:31ID:???このあゆ、汗っかきだなあ
このあゆ、ワキガ??
0922nobodyさん
03/03/19 15:31ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ *´ー゚*リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0923nobodyさん
03/03/19 15:31ID:???| う う |
| ぐ う / ̄ ̄ ̄ ̄ ̄ ̄
| ウ | < うげぇ
\__/ \______
. r‐-i^i´`||iii》ヽ
(_| | i/二フ.〉
(__|_ゝ、__[]_ア
/ l| |
/fヨI 中|
く l| |
` ‐r-十!
ノ ! !
/ゝ,/ー|
/ /l |
/ f《 |fヨ |
. \_)_ノ
0924nobodyさん
03/03/19 15:32ID:???0925nobodyさん
03/03/19 15:32ID:???実はrequireされるライブラリファイルの中だとreturn出来るんだよ。
例えばAnyDBM_Fileがそうしてる。
ま、普通は使わない機能だけどね。
0926nobodyさん
03/03/19 15:32ID:???subroutine, eval, do FILE ... みたいですね。
ライブラリの中って言うのは、よくモジュール等の最後に 1; ってやるけど
あれって、return が省略されていたんだ?
そういえば、sub 内でも定数とかを返すだけのサブルーチンでは
return省略してるの良く見かけるよなぁ
0927nobodyさん
03/03/19 15:32ID:???ちょっと違う。
returnがない場合、最後に評価された式の結果が返される。
1; というのは式1;の値は1だから1が返る。
…って動作のはず。
0928nobodyさん
03/03/19 15:32ID:???0929nobodyさん
03/03/19 15:33ID:???0930nobodyさん
03/03/19 15:33ID:???0931nobodyさん
03/03/19 15:33ID:???睾丸無知
0932nobodyさん
03/03/19 15:33ID:???0933nobodyさん
03/03/19 15:33ID:???0934nobodyさん
03/03/19 15:33ID:???0935nobodyさん
03/03/19 15:33ID:???0936nobodyさん
03/03/19 15:33ID:???|. ノノソハ)))
(\リリ ´ー`)リ < サブルーチン (4) 引数
(ニE(#つo⊂#)
引数、っていうのは、「ひきすう」って読むらしいよ。
ボクはこのあいだまで、「いんすう」だって思ってたんだけど。。
サブルーチンから値を持って戻る、っていうことをやったね。
じゃあ次は、値を持ってサブルーチンを実行するっていうことをやるね。
&xxx("abc", "123", "あいう");
こんな風に呼び出すと、特殊配列 @_ に頭から代入されて呼び出されるよ。
当然、
@list = ("abc", "123", "あいう");
&xxx(@list);
と同義だよ。
この辺の話を覚えて、次回は、名無しさんならエラー、っていう
ソースに改造してみるよ。
#投稿が遅れてごめんね。
#遅れてもdat落ちや削除されない限り途中で放棄することはないからね。。
0937nobodyさん
03/03/19 15:34ID:???知らなかった
ちょっと恥ずかしいな
えっ
そんなにあるのっ?!
なんだかすごいね
Perl、ってクラスって言うのかな…?
呼び方とかよく知らないや。。
遅れてごめんね。
0938nobodyさん
03/03/19 15:34ID:???0939nobodyさん
03/03/19 15:34ID:???月宮あゆのPHP教室きぼんぬ
0940nobodyさん
03/03/19 15:34ID:???で、PHPの勉強にすることにしたので、
おれもPHP教室を希望します。
ちょっとづつでいいのでお願いしたいです。
0941nobodyさん
03/03/19 15:34ID:???0942nobodyさん
03/03/19 15:34ID:???でも、月宮あゆ君はよくがんばってると思うよ。
今後もがんばってもらいたいね。Perlで移行!!。
0943nobodyさん
03/03/19 15:35ID:???いや、なにか役立つでしょ。うん。
それとも先にcかphpを勉強した方が良いのか・・・?
0944nobodyさん
03/03/19 15:35ID:???Perlは勉強していきます。役には立ちますよね。
次にPHP、そしてCという順にやっていきます。がんがります。
0945nobodyさん
03/03/19 15:36ID:???でも、最終的にCするんだったら、ぼくはPHPを強く勧めるよ。
Perlから始めちゃうとPerl独自の癖がつくのでPerlしかできなくなる危険性があるので、
PHP勉強した後、Perlを勉強したほうかいいかもしれないね♪ がんがれ!
0946nobodyさん
03/03/19 15:36ID:???|. ノノソハ)))
(\リリ ´ー`)リ < エラー画面を作る
(ニE(#つo⊂#)
じゃあ、まずはソースだよ。
ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/8274/perl/perl0007.txt
&error("エラーメッセージ");
としてサブルーチンを呼びだすと、
( 特殊配列 @_ の0番目の要素だから $_[0] )
エラーメッセージが $_[0] に入って参照するようになってるよ。
こういうエラーのサブルーチンはよく見かけるね。
ぜひ使えるようにしようね。
次回は、環境変数について勉強するね。
0947nobodyさん
03/03/19 15:36ID:???ボクも今、PHPは勉強してるところなんだよね
ちょっとボクにはできそうにないよ
ごめんね
確かにこれからはPHPの時代に変わっていくかもしれないね。
elsif 、とかPerl以外にみたことないよ。。
0948nobodyさん
03/03/19 15:36ID:???0949nobodyさん
03/03/19 15:36ID:???PHP では、 elseif, else if
Perl で、無理に独自のスタイルに馴染まなくても
C ライクなプログラミングも出来るよ。
0950nobodyさん
03/03/19 15:36ID:???0951nobodyさん
03/03/19 15:37ID:???あゆタン
0952nobodyさん
03/03/19 15:37ID:???IEを恨みましょう。
0953nobodyさん
03/03/19 15:37ID:???>C ライクなプログラミングも出来るよ。
独自スタイルを使わずしてPerlは動くのか?
C知らずしてCライクは無理だろ。もうちと考えてかけよ。
0954nobodyさん
03/03/19 15:37ID:???0955nobodyさん
03/03/19 15:37ID:???0956nobodyさん
03/03/19 15:37ID:???0957nobodyさん
03/03/19 15:38ID:???0958nobodyさん
03/03/19 15:38ID:???0959nobodyさん
03/03/19 15:38ID:???0960nobodyさん
03/03/19 15:38ID:???|. ノノソハ)))
(\リリ ´ー`)リ < 環境変数 (1)
(ニE(#つo⊂#)
環境変数っていうのを勉強するね。
環境変数は、 %ENV っていうハッシュに入ってるよ。
特に何もしなくても、実行すると自動で使えるよ。
これは、プログラムのどこでも使える、グローバル変数だよ。
じゃあ、全部の環境変数を表示してみようね。
foreach (keys %ENV){
print qq{$_:$ENV{$_}<br>\n};
}
ここで出てきた、 keys について説明すると、
「ハッシュのキーを全部とりだす」っていう感じだよ。
このへんはまた今度やろうね。
よく使う環境変数を説明するね。
$ENV{REMOTE_ADDR} : リモートアドレス(IP)が入ってるよ。
$ENV{REMOTE_HOST} : リモートホストが入ってるよ。
$ENV{HTTP_USER_AGENT} : 使ってるブラウザとかのデータが入ってるよ。
$ENV{HTTP_REFERER} : そのページへのリンク元アドレスが入ってるよ。
こんな感じかな。
次回は他の環境変数と、スペースがあまったら実用例を書いてみるね。
0961nobodyさん
03/03/19 15:38ID:???無料サーバかな?
規約違反するなら infoseek かトクトク
規約違反しないなら XREA がいいと思うな
Python なんて言語聞いたことない…
他は聞いたことあるけど。。
ボクもよくわからなかったんだけど410さんが言うにはIEの仕様みたいだね・・・
これはしかたないね
今は、あけましておめでとう、っていう時期になっちゃったね
ごめんね
見てくれてたのかな、ありがとうね
これからできるだけ顔を出したいと思ってるんだけどね
最近いそがしくて・・
0962nobodyさん
03/03/19 15:38ID:???0963nobodyさん
03/03/19 15:39ID:???0964nobodyさん
03/03/19 15:39ID:???|. ノノソハ)))
(\リリ ´ー`)リ
(ニE(#つo⊂#)
0965nobodyさん
03/03/19 15:39ID:???|. ノノソハ)))
(\リリ ´ー`)リ < 環境変数 (2)
(ニE(#つo⊂#)
他の環境変数だよ。
環境に依存するものとか、まったく使わない、と思うのは省いたよ。
$ENV{REQUEST_METHOD} : リクエストされたメソッドだよ。普通は GET か POST だよ。
$ENV{HTTP_HOST} : そのスクリプトが動作してるサーバのアドレスだよ。
$ENV{QUERY_STRING} : xxx.cgi?xxxx っていう感じでアクセスされたら、 ? 以降の文字が入ってるよ。
$ENV{CONTENT_LENGTH} : 送られたデータの総容量だよ。
$ENV{HTTP_COOKIE} : クッキーの情報がはいってるよ。
あとは、プロキシの判断をするときに、
HTTP_CACHE_INFO HTTP_FORWARDED HTTP_IF_MODIFIED_SINCE
HTTP_PROXY_CONNECTION HTTP_VIA HTTP_X_FORWARDED_FOR
とかの環境変数を目安にすることもあるね。
じゃあ、次回は、掲示板に書き込んだ人のリモートホストを解析して、
保存するように改造してみるね。
※ $ENV{REMOTE_HOST} では取得できないサーバーが最近増えてるよ。
こんなサーバーは、 gethostbyaddr 関数を使わないといけないんだけど、
使い方はまた今度説明するね。
gethostbyaddr 関数も使えないサーバーもあるらしいよ。。
こんなサーバーは(たぶん)どうやってもホスト名は取得できないよ。
わからないことがあったら、サーバーの管理人さんに聞いてね。
0966nobodyさん
03/03/19 15:39ID:???ん?なに?
Janeで読んだら「ここ壊れてます」、って言われる
なんでだろう
0967nobodyさん
03/03/19 15:39ID:???0968nobodyさん
03/03/19 15:39ID:???0969nobodyさん
03/03/19 15:40ID:???0970nobodyさん
03/03/19 15:40ID:???0971nobodyさん
03/03/19 15:40ID:???おめでと〜。
関係ないけど、
このスレでの「月宮あゆ」は共有コテにして、トリップだけ別々にすればいいと思うが。
俺は「C言語CGI」スレの住民だけど、あゆのレスが面白くてこっちにもいてみたり。
0972nobodyさん
03/03/19 15:40ID:???を提唱しようではないか。と。
取りあえず次スレはWebProg総合スレにして欲しいっす。
初心者スレとかも良いかもね。
0973nobodyさん
03/03/19 15:40ID:???|. ノノソハ)))
(\リリ ´ー`)リ < 環境変数 (3)
(ニE(#つo⊂#)
じゃあ、掲示板に書きこんだ人のホストを記録するよ。
簡単に言うと、ログファイルに記録すればいいんだけど、
ログファイルにそのまま記録しちゃうと、読む人にホストが見えちゃうんだよね。
たぶんここにいる人たちはホスト開示、っていうのは嫌だと思うんだ。
コメントにする、っていうのも、ソースを見られたらばれちゃうよね。
じゃあ、こんなことをしてみよう。
書きこむときに
<a href='mailto:メール'>名前</a>>メッセージ
っていう書き方をやめるんだ。こうじゃないとホストが筒抜けになっちゃうからね。
じゃあ、ホストを記録できるようにするには、
<a href='mailto:メール'>名前</a>>メッセージ(ホスト)
みたいにして、表示するときに消してやるといいよ。
表示する欄をいじってみるね。
foreach (@log){
$_ =~ s/\([\w\.-]\)\n$//;
print "$_<hr>\n";
}
でも、このままだと穴があるよ。
行数が入らないから次回にまわすね。
0974nobodyさん
03/03/19 15:40ID:???0975nobodyさん
03/03/19 15:41ID:???できればsplitあたりを使って今回やりたかったんだけど
行数が入らないからフォーマットは次回まわしかな
0976nobodyさん
03/03/19 15:41ID:???重要な語句が抜けてますた(*´Д`)
質問に「答える人達が」共有であゆコテを使おうってことを言いたかったんだ。
「◆XalkKQX1is」あゆ一人だけだと、負担がかかるんじゃないかと思ったから。
気の回しすぎだったらごめん。
軽い気持ちで吊ってくるっす。
0977nobodyさん
03/03/19 15:41ID:???0978nobodyさん
03/03/19 15:41ID:???そっちの方が雰囲気出るかも
ただ、◆Xalk..も◆AYUAYU..も掲示板でpassを晒したら、
関係ない奴が偽物として入ってくると言う痛い罠
passの配布方法はどうするの?
0979nobodyさん
03/03/19 15:42ID:???0980nobodyさん
03/03/19 15:42ID:???0981nobodyさん
03/03/19 15:42ID:???自分ダメダメっすね(^.^;
0982nobodyさん
03/03/19 15:42ID:???いっそトリップ付けなきゃ(ry
もしくはID表示させれば(ry
0983nobodyさん
03/03/19 15:43ID:???0984nobodyさん
03/03/19 15:43ID:???0985nobodyさん
03/03/19 15:43ID:???0986nobodyさん
03/03/19 15:43ID:???0987nobodyさん
03/03/19 15:43ID:???いまどき(仕事以外で)使ってる人いるんすかねえ、、、
0988nobodyさん
03/03/19 15:43ID:???電2>基礎から丁寧に説明してくれるので非常に分かりやすい
0989nobodyさん
03/03/19 15:44ID:???降臨きぼーん
0990nobodyさん
03/03/19 15:44ID:???電2ってなによ
0991nobodyさん
03/03/19 15:44ID:???0992nobodyさん
03/03/19 15:45ID:???0993nobodyさん
03/03/19 15:45ID:???0994nobodyさん
03/03/19 15:45ID:???|. ノノソハ)))
(\リリ ´ー`)リ < ログファイル (1)
(ニE(#つo⊂#)
前回はホストの記録をやってみたわけだけど、実は拡張子が、
.cgi とかじゃないファイルは、外部から参照されちゃうことがあるんだ
(でも、基本的にサーバーの設定に依存するよ)
log.cgi か何かにリネーム(名前を変更)して、スクリプトも少し
書き直したらこの問題は解決されるね。
じゃあ今回は、少し重い掲示板を作る、っていう想定でやってみるね。
ここでは表示欄にテーブルを組ませたりするよ。
ちょっとここで考えてみると、前回までと同じように、ログファイルに
書き込んでると、容量がどんどん大きくなっちゃうよね。
それは困る、っていうことで、一般的な掲示板では、【区切り文字】を
使って、名前、とかの要素を区切って保存してるよ。
2ちゃんねるでもこれは同じだよ。
http://pc.2ch.net/php/dat/1014096840.dat
名前<>E-mail<>投稿日<>本文<>(サブジェクト)
っていう感じに <> で区切られて保存されてるのがわかると思うよ。
区切り文字は、 <> が一番メジャーで、次に , とか : とか | を見るね。
別に何でもいいんだけどね。でも、本文にその区切り文字があると、
そこで区切られちゃうから、それを避けるようにすればいいね。
じゃあ、今回は
名前<>E-mail<>投稿日<>本文<>ホスト
っていう形式でやってみることにするね。
0995nobodyさん
03/03/19 15:45ID:???ボクは別にそれでもいいけど
結構大変な仕事を継続してやってくれる人はいるかな…?
いるならボクは大歓迎だよ
トリップのキーはすぐに割れそうな気がするキーなんだけど…
えっと、他のスレでもこのトリップ使ってるから、
公開するつもりはあまりないよ、ごめんね
COBOL…?
ごめん、聞いたことないよ。。
えっ?!
今みてみたけどホントに掲載されてるね
うれしいよ、今度からも頑張るから応援してね
そんな難しいこと書いてるかなぁ…
どのへんから分からないのか教えてほしいな
遅くなってごめんね
スレ違いだよっ!
0996nobodyさん
03/03/19 15:46ID:???キタ─wwヘ√レvv~(゚∀゚)─wwヘ√レvv~─ !!!
俺はスローペースでもOK
てか、あゆあゆは一人であとは普通に教えあえばいいと思うよ。
0997nobodyさん
03/03/19 15:46ID:???0998nobodyさん
03/03/19 15:46ID:???〃┏━━
( ) ( )
(.〆⌒ヽ )
(∴゚ρ゚∴) < いないよ ( £ £ )
( £ゑ££ )
(££ゑ£)
|. ノノソハ)))
(\リリ ´ー`)リ
(ニE(#つo⊂#)
0999nobodyさん
03/03/19 15:46ID:???A_I_R_ノ V|
`''´
The days which are wrapped in the scene of summer and to pass gently
An encounter with the girls repeated in the sunlight
Summer continues to where as well
She is waiting in the air
__(/__
,.-'´ `ヽ
r'´ ゝ' `ヽ
{ "'' " ii}
li i i ii
_i_i i i i_リ'_
<___,.ニ=‐-‐- <__>;
. }/ \`ヽ. イ
/, , ' i i i 、 \ ヾ i {
/イ! i ! i i瓜_ト、_`丈_ヽヾ.K
/!、、、v'frj「 ; `'}rj`yi`.l \____
. ん'^iハ、ヾヽ´ ワ `゙ハ l !ト ノ´し'⌒`
l:::::::`ーi i`i::` .__, イi ii !il:::::::l
l:::::::::::,' .'/:::::::r‐w‐ヵ:、 ii i l::::::l
l:::::::; ' ム' ‐''`Y^r '` ‐- 、ヽ:::|
l::/,ィ´ベ ;゙†.! /∧ \
//::::|,' 〉、、 ,',' ゙、 /∧ ヽ、 ヽ、
//l::::::::/ { V/ 、 /〉,'./::::} ヾメ、 ゙ヽ、
/ / く::::く ゝ、::::\ /:::::::::ノ /l `ヽ ヽ
,' ,' \::`コ==} `' ::::::{==「::::::j } }
{ {,,. ‐,.ニ"-‐=ニレ'` ー--‐ァ''´\j::/ ノ ノ
ゝ. V´ _,,. ‐''" / ハ\ / /
1000nobodyさん
03/03/19 15:46ID:???シロウトがでたらめばかり書くな。
レス数が1000を超えています。これ以上書き込みはできません。