각 char이 문자열에 나타나는 시간을 계산하려고하는데 스위치와 for 루프를 사용하고 있지만 제대로 증가하지 않습니다. 여기에 내 코드스위치를 사용하여 char의 빈도를 계산하는 OCAML
let countChar x =
match x with
'A'-> countA := !countA +1;
|'C'-> countC := !countC +1;
|'T'-> countT := !countT +1;
|'G'-> countG := !countG +1;
;;
let demoStri = "ACGTACGT" in
for j = 0 to 7 do
countChar demoStri.[j];
let tempA = !countA in
print_int tempA;
print_string "\n";
let tempC = !countC in
print_int tempC;
print_string "\n";
let tempG = !countG in
print_int tempG;
print_string "\n";
let tempT = !countT in
print_int tempT;
print_string "\n";
done
그러나 어떤 이유로 만 1 증가 것이며, 1 0 0 0 2 0 0 0 3 0 0 0을 반환 등등 ..... 뭔가 궁금했다 그 과정에서 잘못 됐어?
왜 'j'를 사용하지 않습니까? – hugomg
왜 List.iter ??? – karakfa
그건 오타였다, 나는 내 코드에서 j가 아닌 다른 것을 사용하고 있었지만이 코드로 바꿨다. –