週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リストの関わるプログラムを書いていると、私はよくpush_back系の操作とconcat系の操作を間違えます。 前者はリストとその要素を扱い、後者はリスト二つを扱います。ややこしいところは何もありません。ただよくtypoをします。list1 + [a]ってやるべきところをlist1 + aとやったりします。あとは、文字列を一行にひとつ順番に出そうと思ったところ、文字列中の文字が一行に一文字ずつ出力されたりしたときもあります。これはどうやって出したかは忘れましたが、pythonで書いたと思います。

これはduck typingの弱点じゃないのかと思いました。以下、リストのリストを[[a]]で、ただのリストを[a]で、aはリスト以外の何かを指します。duck typingの場合、[[a]]を渡すべきところに[a]を渡しても、外側のリストに関する操作しかしない限りにおいてエラーは発生しません。また、aを渡すべきところに[a]を渡しても、なんでも受けとれるリストなら受けとってしてしまいます。エラーは発生しなくても意図すべき記述にはなっていないので、こういうエラーは他の部分を書いているときにみつかったりします。

一方静的型のある言語では大丈夫です。リストの中身の型がすべて一致していることが要請される場合なら、aを要素とするリストに[a]を入れることは出来ません。エラーの検出はコンパイル時、実行前に完全に終わっています。コンパイルが通ればこのようなエラーが残っている可能性はありません。

スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/311-946051d7
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。