Ruby代码中的管道字符

时间:2014-02-01 07:10:55

标签: ruby

我正在关注一本电子书,而且:

def titled_name
  @honorific ||= 'Esteemed'
  titled_name = "#{@honorific} #{@name}"
end  

正在抛出错误:

SyntaxError: lib/example.rb:25: syntax error, unexpected tOP_ASGN @honorific | |= Esteemed'

从电子书中的示例代码看,其中一个管道字符比另一个更粗,但这可能是本书中的一个奇怪问题。你能看出这有什么问题吗?它们只是两个常规管道字符吗?

2 个答案:

答案 0 :(得分:3)

@honorific | |= "Esteemed"

您错误输入了代码。管道之间不应有空间(这些垂直线称为管道)

@honorific ||= "Esteemed"

此外,没有编程语言(我知道)使用丰富的格式(粗体字符与普通字符)。这肯定是印刷品的一个缺陷。

答案 1 :(得分:0)

我对Ruby也很陌生,但基本上有2个理由使用我遇到过的管道。

1)||是“或”。它用于评估 或2个参数是否为true,如果是,则返回true。

2)||也用于在块中创建变量。