2011-09-05 53 views
1

例如,我要聲明是否可以同時聲明可變和不可變的值/綁定?

let len, (*mutable*) i = 
      if s.Length >= 2 && s.[0] = '0' && (s.[1] = 'x' || s.[1] = 'X') then 
       (s.Length - 2, 2) 
      else (s.Length, 0) 

不斷結合LEN和可變我,這可能嗎?

補充: 我會用引用然後

let len, i = 
     if s.Length >= 2 && s.[0] = '0' && (s.[1] = 'x' || s.[1] = 'X') then 
      (s.Length - 2, ref 2) 
     else (s.Length, ref 0) 

回答

5

mutable適用於整個let結合。你必須這樣做:

let len, i = ... 
let mutable i = i 
+0

好的,但我仍然可以使用參考 – Cynede

+0

對。 'ref'是一個不同的類型,而不是堆棧中的'mutable'值。 – Daniel

相關問題