“\”在一行代码的末尾做了什么?

时间:2013-06-23 21:08:36

标签: ruby

在这种方法中:

def look_deep (action, max_item_depth = 9, max_aspect_depth = 9)
   self.class.numbering_reset
   r = look_deeper \
    [] , #no context yet
   { #deep
     :root => id,
     :row => 0 ,
     :columns => {
       :names => Array.new,
       :cells => Array.new
     } ,
     :action => action ,
     :debug_log => ''
   } ,
    max_item_depth , #optional
    max_aspect_depth , #optional
    0 #item_depth
   @toy_debug = self.class.debug_map r
   r
 end

我不明白这意味着什么:

r = look_deeper \

有人能帮我理解吗?

2 个答案:

答案 0 :(得分:5)

Programming Ruby中,您会找到:

  

Ruby是一种面向行的语言。 Ruby表达式和语句在一行结尾处终止,除非该语句明显不完整 - 例如,如果一行上的最后一个标记是运算符或逗号。分号可用于分隔一行上的多个表达式。 你也可以在一行末尾添加一个反斜杠,然后将其继续到下一行。注释以`#'开头并运行到物理行的末尾。编译期间忽略注释。

与延续字符相关的示例是:

d = 4 + 5 +      # no '\' needed
    6 + 7

e = 8 + 9   \
    + 10         # '\' needed

(重点是我的。)

答案 1 :(得分:2)

\字符称为转义字符。它发出信号忽略下一个字符,在这种情况下是回车符或换行符。

它以多种语言使用。它用于正则表达式,Perl等,而不仅仅是Ruby。