読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

ふと自分が気になった事を書いてます

OCamlで問題を解く

switch文の代わりに、パターンマッチング使ってみました。使い方がわかると気持ちがいい。

open Printf;;
print_string "季節を求めます。\n";;

let rec main m = match m with
    3 | 4 | 5 -> "春です。\n"
  | 6 | 7 | 8 -> "夏です。\n"
  | 9 | 10 | 11 -> "秋です。\n"
  | _ -> "冬です。\n";;

let rec ask_month () = print_string "何月ですか : ";
                       let month = read_int() in
                       if month > 12 || month < 1 then
                         ask_month ()
                       else
                         let answer = main month in
                         print_string answer;
                         print_string "もう一度? 1···Yes/0···No : ";
                         let choose = read_int() in
                         if choose = 1 then
                           ask_month ()
                         else
                           ();;
ask_month ();;



open Printf;;
print_string "季節を求めます。\n";;

let rec main m = match m with
    3 | 4 | 5 -> "春です。\n"
  | 6 | 7 | 8 -> "夏です。\n"
  | 9 | 10 | 11 -> "秋です。\n"
  | _ -> "冬です。\n";;

let rec ask_month () = print_string "何月ですか : ";
                       let month = read_int() in
                       if month > 12 || month < 1 then
                         ask_month ()
                       else
                         begin
                           print_string (main month);
                           print_string "もう一度? 1···Yes/0···No : ";
                           let choose = read_int() in
                           if choose = 1 then
                             ask_month ()
                           else
                             ()
                         end;;
ask_month ();;

解きながら学ぶJava 入門編

解きながら学ぶJava 入門編