Ruby语法错误与使用变量的声明性概念

时间:2015-08-12 05:24:41

标签: ruby ruby-2.2

我试图在ruby中使用反应式编程概念,我创建了两个代码块:

1势在必行

a = 5, b = 2
c = a + b
print c #=> 7

a = 2
print c #=> 7

2声明

a := 5, b := 2
c := a + b
print c #=> 7

a := 2
print c #=> 4

然而,第二个例子对我不起作用,并给出以下错误:

d.rb:1: syntax error, unexpected '=', expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
a := 5, b := 2
    ^

请有人帮我查一下代码中的错误。任何建议将受到高度赞赏。

我知道第二个是伪代码,但有一件事让我感到惊讶的是,最高分的人会让它脱离主题吗?第二个代码也可以使用Reactive Library执行,而最高分程序员也不知道它。

1 个答案:

答案 0 :(得分:3)

:=无效Ruby。

错误消息是因为符号由前导冒号表示,因此:example是一个符号(与"example"比较,这是一个字符串)。

所以遇到: Ruby期望一个符号的有效起始字符,它可以是......

@$_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

中间人物可以......

_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

最后一个角色可以......

!_=?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

所以=永远不是有效的符号字符。

您引用的文章显示伪代码而不是实际的Ruby。