我試圖理解爲什麼一個未設置的變量被評估爲0. 在一些腳本中,即時編寫變量將只在需要時設置,並且一些時間不會。 所以這種行爲將導致不正確的輸出。 是否意味着我必須預設所有變量或至少添加檢查它們是否已設置? #!/bin/bash
#myvalue=0 #comment to simulate an unset variable.
if [[ $myvalue -eq 0 ]] ; then
叫時請考慮以下變量: var obj = {
value : 'from object',
getValue : function() { return this.value; }
};
var value = 'from global';
現在,obj.getValue()評估爲'from object'。如果我得到一個引用只是getValue函數,並調用它: va
(I使用OCaml的版本4.02.3) 予定義的類型self # type self = Self of self;;
type self = Self of self
和它的實例s # let rec s = Self s;;
val s : self = Self <cycle>
由於OCaml is a strict language,我預期限定s將陷入無限遞歸。但口譯員說s有一