2016-03-22 14 views
1
char'u string'dan almaya çalışırken sorun yaşıyorum.

(OCaml) Bir dizeden nasıl char alabilirim?

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

ama bunu derlemeye çalıştığınızda, aşağıdaki ileti görüntülenir:

kodudur Ben de bir değişkende sonuç koymak ve daha sonra bastırma çalıştı

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

,

ancak aynı hatayı alıyorum.

+1

Ve diğer yöne gitmek istediğiniz zaman için, 'String.make 1' a'' –

+1

Başlık yanlış - char aldınız, bunu nasıl yapacağınızı bilmiyordunuz. –

cevap

2

Tamam, nedenini buluyorum!

'print_endline' bir dize değeri bekler, ancak 'String. [N]' işlevi bir karakter döndürür.

'print_endline' için 'print_char' adını değiştirdim ve işe yaradı.

+0

derleyici hataları almak zorunda kalmadan önce türleri bilmenize yardımcı olmak için 'merlin' gibi araçları kullanabilirsiniz. –