2016-03-22 22 views
1

charstringにしようとすると問題が発生します。(OCaml)文字列から文字を取得するにはどうすればよいですか?

let op = read_line() in 
print_endline (op.[1]); 

が、私はそれをコンパイルしようとすると、次のメッセージが表示されます:

コードがある

Error: This expression has type char but an expression was expected of type string

私も、結果を変数に入れて、後でそれを印刷してみました

let op = read_line() in 
let ch = op.[1] in 
print_endline ch; 

でも同じエラーが発生します。

+1

もう一度やりたいときは、 'String.make 1 'a'' –

+1

というタイトルが間違っています - あなたは文字を持っています。 –

答えて

2

[OK]をクリックします。

'print_endline'には文字列値が必要ですが、 'String。[n]'関数はcharを返します。

私は 'print_char'の 'print_endline'を変更しました。

+0

あなたは 'merlin'のようなツールを使ってコンパイラエラーを受け取る前に型を知ることができます。 –

関連する問題