結果

問題 No.163 cAPSlOCK
ユーザー piconic_Xpiconic_X
提出日時 2015-11-09 23:51:42
言語 OCaml
(5.1.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 510 bytes
コンパイル時間 46 ms
コンパイル使用メモリ 16,768 KB
最終ジャッジ日時 2024-04-17 08:31:10
合計ジャッジ時間 459 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
File "Main.ml", line 11, characters 4-30:
11 |     str.[i] <- trans str.[i] 0
         ^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: Syntax error: strings are immutable, there is no assignment syntax for them.
Hint: Mutable sequences of bytes are available in the Bytes module.
Hint: Did you mean to use 'Bytes.set'?

ソースコード

diff #

let bets = [|'a';'b';'c';'d';'e';'f';'g';'h';'i';'j';'k';'l';'m';'n';'o';'p';'q';'r';'s';'t';'u';'v';'w';'x';'y';'z';'A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z'|]

let rec trans char i =
  if bets.(i) = char then
    if i > 25 then bets.(i-26)
    else bets.(i+26)
  else trans char (i+1)

let main str =
  for i = 0 to String.length str - 1 do
    str.[i] <- trans str.[i] 0
  done

let () = let str = read_line () in
	 main str;
	 print_endline str
0