だってプログラマーだから
9月4日木曜日、曇り
Kotlin のプログラミングコンテストが今週土曜日、日本時間では 23:35 〜 26:05 の二時間半に渡って開催されるとか。
やって、みるかなー…… という気を起こしてしまったので、とりあえずエントリーしておいた。
土曜日のコンテストに先立って練習問題が7問出ているようで、先ほど1問解いてみた。……いや、解こうとしていた。
Kotlin で main 関数ってどう書くんだっけ? Kotlin で標準入力から読むのって、標準出力に書き出すのって、どうやるんだっけ?(って、そこからかーい!!)
fun main(args: List<String>): Unit {
// 回答を出力するコード
println(...)
}
へどもどしながらこんなプロトタイプを書いて登録してみると、なぜか実行時エラーになる。
なぜだ、なぜだなぜなんだ?! 計算の型はあってるし、ローカルのスクラッチファイルで試すかぎり正しい答えが出ている。
そしてしばらくのち、 main の引数の型が違うって。 Array<String> ですって。
っていうか! それなら実行時エラーでなくてコンパイルエラーにするとか! とか! してくれたら!! いいのに!!!
オーバーロードできるので fun main(args: List<String>): Unit な関数が定義できて、しかし実行時には fun main(args: Array<String>: Unit な関数定義を探すから(そして見つからないので)実行時エラーになっていたんだろう。
と、後づけでなら理解できるわけだけれど。
うーーーーん…… 前途、多難だなあ。
この記事が気に入ったらサポートをしてみませんか?