0
我正在研究Swift,並且我想在Swift上應用MacLennan的編程語言原理。通過子範圍類型進行編譯器優化
但是,我沒有得到他的「信息保存」原則,其中指出用戶應該能夠表示編譯器需要的信息。作爲一個例子,提到了子範圍類型,這將「更容易優化」。編譯器如何根據子範圍類型(即Swift中的範圍)做一些優化?這個優化是否適用於Swift?
我試圖想出一些代碼示例(這真的很糟糕),但是,我想知道如果這個範圍信息真的可以被編譯器用來做一些優化,或者它只是一個更短的照着做。
var arr = ["a", "b", "c", "d"]
arr[1...3] = ["a", "a", "a"]
// Instead of
var arr2 = ["a", "b", "c", "d"]
arr2[1] = "a"
arr2[2] = "a"
arr2[3] = "a"
謝謝,這只是一些非常糟糕的代碼示例,我想出了。你知道在某些情況下,Swift編譯器是否能夠做一些優化,例如,範圍被使用?他們的意思是「讓優化更容易」? – HyperZ