[#40600] GDでjpegの写真を扱いたいが、その方法?質問) — "Hisashi Yahata" <yahatah@...>
いつも質問で申し訳ないです。
8 messages
2005/02/03
[#40622] 安定版より安定しているバージョンでのTkでエラー — "Nobuyasu Hoshino" <n-hoshino@...>
はじめまして、こちらのメーリングリストに投稿していいのかどうか迷いましたが、
6 messages
2005/02/16
[ruby-list:40610] メソッドの引数をチェックする方法について
From:
うめ とし <ruby_plus_ruby@...>
Date:
2005-02-09 18:32:37 UTC
List:
ruby-list #40610
はじめましてT.Umeharaといいます。
学校でJavaを半年ほど習ったことがあるだけの
独学&日曜プログラマです。
Javaをやっていたせいもあり、
メソッドの型チェックをしたいと思うことがしばしばありまし
た。
そこで、次のようなものを考えました。
check( a => String , b => String){
a = "new\n"
b = a.chomp!
}
check( a => String , b => String){
a = "new"
b = 12 # => Error
}
check( a => String , b=> String){
a = "new"
b = a.size #=> Error
}
こんなのどうでしょう??
特徴は、代入という動作をすることで、型チェックができるの
と、
型チェックを、関数の外でやってしまおうということです。
check(){}で囲めば、今までのコードにも簡単に制約つけられ
ますし。
あと、CGIとか書くとき用に、
check_by( a.size < 12 , b.size < 12 ){
a = "あいうえお"
b = "あいうえおかきくけこ" # => Error
}
こんなのも考えてみました。
もちろん、型チェックがRuby的じゃないのは知ってる(という
か掲示板でも突っ込まれました)ので、
check_by( a.method?(String) ){}
という書き方もいいと思います。
#####
ここからは余談になるのですが、
僕がもともと、一番やりたかったのは、
関数の中で、引数のチェックをするんじゃなくて、
できるだけ、関数には基本的なことだけ書いて、
引数チェックは使う時に明示的に、行うって書き方がしたい。
ってことでした。
(ちなみに、もともと、こんな書き方をしていました↓
testmethod_check(a,b)
testmethod(a,b)
でも、これは、あまりきれいじゃないしやめました。
)
利点は、メソッドの働きが簡潔に説明でき、再利用しやすいっ
てことの方が、チェックできるからどうのという利点より大き
いと思います。
どうでしょうか?
あと、うまく実装できないので、便利だと思った方、実装して
ください。
#####
あと、失礼は承知なのですが、ほんとに日曜プログラマなので
、
質問もらっても、返信できないかもです。(ということで、質
問しないでください。)
ちょっと、情報とは関係ない学部で、
しかも、留年の危機という状況なので。。
あしたから、試験が立て込んでいます(^^;)
__________________________________
Let's Celebrate Together!
Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/so2005/