2013-02-17 11 views

Odpowiedz

13

Jak zapewne zauważyliście, można łączyć tylko z innymi strun struny - nie liczbami całkowitymi. Musisz więc przekonwertować swoją liczbę całkowitą na ciąg znaków, aby móc go połączyć. Jeśli liczba całkowita jest naprawdę mocno zakodowana jak w twoim przykładzie, możesz po prostu napisać "0" zamiast 0 (w rzeczywistości w twoim przykładzie możesz po prostu napisać "a0" i nie łączyć niczego w ogóle).

Jeśli liczba całkowita nie jest stała, można użyć string_of_int, aby przekonwertować ją na ciąg. Więc to będzie działać:

let x = "a"^string_of_int my_integer 
6

Można również używać zwykłych funkcji printf, ale jest znacznie slower:

let x = Printf.sprintf "a%d" my_integer 
+4

Ponieważ nie ma powodu, aby przypuszczać, że część ciąg jest mniej zmienny niż część całkowitej , Chciałbym zasugerować 'Printf.sprintf"% s% d "" a "0'. –