Rubyに成績分類を判断するシナリオを書く


需要は:キーボードから点数を入力して、これによって判断して、0-59は不合格で、印刷は“あなたは合格していないで、次回努力してください!”60-79は合格のため、「あなたの成績は合格しました.もっと頑張ってください!」と印刷されます.80-100は成績がいいので、「あなたの成績は優秀です.もっと頑張ってください.」と印刷します.0-100以外の点数を入力した場合は、「成績が優秀なので、もっと頑張ってください」と印刷します.
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