Rubyに成績分類を判断するシナリオを書く
需要は:キーボードから点数を入力して、これによって判断して、0-59は不合格で、印刷は“あなたは合格していないで、次回努力してください!”60-79は合格のため、「あなたの成績は合格しました.もっと頑張ってください!」と印刷されます.80-100は成績がいいので、「あなたの成績は優秀です.もっと頑張ってください.」と印刷します.0-100以外の点数を入力した場合は、「成績が優秀なので、もっと頑張ってください」と印刷します.
ruby方式を採用する場合、コードは以下のように簡略化されます.
SHELLでifマルチ枝で選択する場合、コードは以下のようになります.
SHELLではcaseの方法を使うと面倒ですが、コードは:
ruby方式を採用する場合、コードは以下のように簡略化されます.
#!/usr/bin/ruby
print " : "
grade = gets.to_i
#grade = name.to_i
case grade
when 0..60
puts " , !"
when 61..79
puts " , !"
when 80..100
puts " , !"
else
puts " , 0-100 !!"
end
SHELLでifマルチ枝で選択する場合、コードは以下のようになります.
#!/bin/bash
read -p "Please input your score:" Score
if [ $Score -ge 0 -a $Score -le 59 ];then
echo " , !"
elif [ $Score -ge 60 -a $Score -le 79 ];then
echo " , !"
elif [ $Score -ge 80 -a $Score -le 100 ];then
echo " , !"
else
echo " , !"
fi
SHELLではcaseの方法を使うと面倒ですが、コードは:
#!/bin/bash
read -p " :" score
case "$score" in
[0-9])
echo " , !"
;;
[1-5][0-9])
echo " , !"
;;
[6-7][0-9])
echo " , !"
;;
[8-9][0-9])
echo " , !"
;;
100)
echo " , !"
;;
*)
echo " , !"
;;
esac