我正在学习使用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