Ruby中方法定义旁边的变量

Ruby中方法定义旁边的变量,ruby,methods,scope,Ruby,Methods,Scope,我刚开始学习Ruby,目前正试图弄明白这个语法的含义。它看起来像方法定义旁边的变量名(路径)。它不在括号中,所以它不是一个参数。也许是一个方法级变量 def get_path path if clause @path = n else @path = m end return @path end 未向此方法传递任何参数。 任何帮助都将不胜感激 括号在Ruby中是可选的。这: def get_path path end 与此相同: def get

我刚开始学习Ruby,目前正试图弄明白这个语法的含义。它看起来像方法定义旁边的变量名(路径)。它不在括号中,所以它不是一个参数。也许是一个方法级变量

def get_path path
   if clause
      @path = n
   else
      @path = m
   end
   return @path
end
未向此方法传递任何参数。
任何帮助都将不胜感激

括号在Ruby中是可选的。这:

def get_path path
end
与此相同:

def get_path(path)
end
请注意,您可以定义带括号的一行程序,如下所示:

def foo(a,b) puts (a*b).to_s end
但如果您决定不使用括号,则必须添加分号,以便Ruby知道args列表的结尾。调用方法也可以使用或不使用括号:

def bar a,b; puts (a*b).to_s end
bar 2,3
#6

括号在Ruby中是可选的。这:

def get_path path
end
与此相同:

def get_path(path)
end
请注意,您可以定义带括号的一行程序,如下所示:

def foo(a,b) puts (a*b).to_s end
但如果您决定不使用括号,则必须添加分号,以便Ruby知道args列表的结尾。调用方法也可以使用或不使用括号:

def bar a,b; puts (a*b).to_s end
bar 2,3
#6
如果没有需要立即使用方法result的代码, Ruby允许指定省略括号的参数:

这意味着:

get_path path
相当于:

 get_path(path)
如果没有需要立即使用方法result的代码, Ruby允许指定省略括号的参数:

这意味着:

get_path path
相当于:

 get_path(path)

方法调用和方法定义中的参数都有可选的括号

这是一个惯例,当/a是一个没有参数的方法,或者调用一个状态为关键字的方法时(尽管这有点模糊),应该忽略它们


在定义带有参数的方法时省略括号(这里就是这种情况)被认为是严重的冒犯,即使它仍然是有效的语法。

方法调用中的参数以及方法定义中都有可选的括号

这是一个惯例,当/a是一个没有参数的方法,或者调用一个状态为关键字的方法时(尽管这有点模糊),应该忽略它们


在定义带有参数的方法时省略括号(这里就是这种情况)被认为是严重的冒犯,即使它仍然是一种有效的语法。

它可能是一个答案,也可能是一个答案