2017-04-06 56 views

回答

2

麻煩下面是做到這一點的一種方式,在OCaml的頂層(讀EVAL-打印證明總和環):

# print_int (read_int() + read_int());; 
18 
44 
62- : unit =() 

我輸入18和44,然後頂層印刷62.然後,它印刷的print_int的結果(它是(),類型的單元)。

(它可能會更有效的爲您通過一些教程發問這裏工作之前,有很好的教程在OCaml.org。)

更新

由於評論者指出,有在你的問題的完整答案中有相當多的微妙之處。特別是,您不希望在單個表達式中出現多個read_int(),因爲表達式評估順序未指定。在我的辯護中,這是(至少部分)爲什麼我建議從一個教程開始,在這裏提問之前加快速度。 ()+

+2

let()= let a = read_int()in let b = read_int()in Printf.printf「%d和%d之和是%d \ n」a b(a + b) –

+0

非常感謝! – user2604986

+5

請注意,具有相同輸入的'print_int(100 * read_int()+ read_int());;'可能會給你4418而不是1844。 –

相關問題