我试图在ruby中使用反应式编程概念,我创建了两个代码块:
a = 5, b = 2
c = a + b
print c #=> 7
a = 2
print c #=> 7
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执行,而最高分程序员也不知道它。
答案 0 :(得分:3)
:=
无效Ruby。
错误消息是因为符号由前导冒号表示,因此:example
是一个符号(与"example"
比较,这是一个字符串)。
所以遇到:
Ruby期望一个符号的有效起始字符,它可以是......
@$_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
中间人物可以......
_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
最后一个角色可以......
!_=?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
所以=
永远不是有效的符号字符。
您引用的文章显示伪代码而不是实际的Ruby。