我正在學習使用MATLAB進行編程,並且在R中有一些經驗。我對MATLAB中的範圍的本質感到困惑。MATLAB中的範圍與R
y <- 1
test <- function(x) {
return(x+y)
}
test(1)
中的R
,此返回2。R檢查一個值的函數之外y的值,當y不爲輸入通過。然而,在MATLAB,
function[ output ] = test(x)
output=x+y;
y=1;
test(1)
給出了錯誤
Undefined function or variable 'y'
任何人都可以解釋爲什麼落後範圍,MATLAB行爲不同於我,在R A程序員的邏輯,希望它的工作?
https://www.mathworks.com/help/matlab/matlab_prog/check-variable-scope-in-editor.html –
有ISN」邏輯,這就是語言的設計。不應該期望不同的編程語言之間的範圍是相同的。如果這是有效的R語法,那麼它與大多數其他語言不同。範圍廣泛,似乎是一個很不好的主意TBH。 – excaza
我明白了。你總是從你學習的第一語言中獲得期望,但很高興知道這不是常態。謝謝 – Lee88