カサレリア。katzenです。
前回、V言語の比較演算子でプリミティブな型の比較が出来るようになりました。これで比較して処理を分けられるようになったと思います。
では、引き続き第7話 V言語で超簡単なゲームを作るをすすめていきましょう。
これの2まで終わっています。
// day7.v
import os
// 1. 「じゃんけん...(1.ぐー,2.ちょき,3.ぱー)」と表示して
println("じゃんけん...(1.ぐー,2.ちょき,3.ぱー)")
// 2. 数字1〜3を入力してもらうことにします。
line := os.get_line()
3について、数値に変換して比較するか、文字列のまま比較するかを検討していました。
今回は文字列での比較で行います。
要件にはありませんでしたが、優しさとして入力データにスペースや改行が入っていた場合も考慮しておきましょう。
多分string.trim
あたりがあると思います。ありました。公式
しかしもう少し下を見ると、string.trim_spaceというものを発見しました。
これで簡単にかけますが、正直複数やり方がある(ラッパーメソッド)は、あまり好きではないです。
でも利用します。
// ...
you := line.trim_space()
こうですね。
// 3. それ以外が入力された場合、「数字の1か2か3を入力してね。」と表示して2.へ
if "1" != you && "2" != you && "3" != you {
println("数字の1か2か3を入力してね。")
}
さて、表示はこれでいいですが、2へ戻るのはどうしましょう。
V言語では一応goto
が使えますがunsafe
(安全ではない)です。
方向としてはループ処理にして2に戻す方法にしましょう。
loop {
2.の処理
3.の処理
入力データが以上なら continue
...
}
こんなイメージですね。
さて、今度はループについて知る必要がありますね。
きっとforやwhileなどがあるのではないでしょうか。
迫る文字列比較の壁を超え一安心したそのとき、ループ処理が必要に迫ってきていました。
次回「V言語のループ処理」見てください!