条件分岐を追加する
前の演習では、ドライバーとアシスタントのやり取りをシミュレートしました。速度が高すぎる場合に「Slow down!」とコンソールに表示され、速度が 7 単位減少する仕組みでしたね。
アシスタントをさらに高度にする方法はいくつかあります。たとえば、速度に応じて異なるメッセージを表示したり、現在の速度をリアルタイムで知らせたりすることができます。
前の演習で作成したものと似た while ループがすでに用意されています。現在の速度を表示する処理は含まれていますが、speed 変数を減少させるコードがまだありません。これはかなり危険な状態です。適切な変更を加えてみましょう。
この演習はコースの一部です
中級 R
演習の手順
- 速度が 48 より大きい場合は、R に "Slow down big time!" と表示させ、速度を
11減らしてください。 - それ以外の場合は、R に "Slow down!" と表示させ、速度を
6減らしてください。
セッションがタイムアウトしてエラーが発生する場合は、無限ループに陥っている可能性があります。while ループの本体を確認し、speed に新しい値が代入されているかどうかをチェックしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize the speed variable
speed <- 64
# Extend/adapt the while loop
while (speed > 30) {
print(paste("Your speed is", speed))
if (___) {
print("___")
speed <- ___
} else {
print("___")
speed <- ___
}
}