2014-05-01 63 views
-6

需要幫助我在C++從C++移植的功能,ocaml的

bool SolveSudoku(int grid[N][N]) 
{ 
int row, col; 

if (!FindUnassignedLocation(grid, row, col)) 
    return true; 

for (int num = 1; num <= 9; num++) 
{ 
    if (isSafe(grid, row, col, num)) 
    { 
     grid[row][col] = num; 
     if (SolveSudoku(grid)) 
      return true; 

     grid[row][col] = UNASSIGNED; 
    } 
} 
return false; 
} 

,我這裏面臨的問題,下面的函數代碼是,if語句,我需要先執行操作然後返回一個布爾值。並且Ocaml在這種方式中對於if語句中的不同返回值沒有幫助。

+0

當然你也可以先執行一些功能,然後在if語句返回另一個值。例如,請參閱忽略功能。 –

+0

然後,試圖將命令性陳述翻譯成功能性表達式1到1似乎很荒謬。也許造成了downvotes的原因。 –

回答