我正在关注一本电子书,而且:
def titled_name
@honorific ||= 'Esteemed'
titled_name = "#{@honorific} #{@name}"
end
正在抛出错误:
SyntaxError: lib/example.rb:25: syntax error, unexpected tOP_ASGN @honorific | |= Esteemed'
从电子书中的示例代码看,其中一个管道字符比另一个更粗,但这可能是本书中的一个奇怪问题。你能看出这有什么问题吗?它们只是两个常规管道字符吗?
答案 0 :(得分:3)
@honorific | |= "Esteemed"
您错误输入了代码。管道之间不应有空间(这些垂直线称为管道)
@honorific ||= "Esteemed"
此外,没有编程语言(我知道)使用丰富的格式(粗体字符与普通字符)。这肯定是印刷品的一个缺陷。
答案 1 :(得分:0)
我对Ruby也很陌生,但基本上有2个理由使用我遇到过的管道。
1)||是“或”。它用于评估 或2个参数是否为true,如果是,则返回true。
2)||也用于在块中创建变量。