-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 执行,最高分的程序员不知道它。

4

1 回答 1

3

:=不是有效的Ruby。

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

所以遇到:Ruby 需要一个有效的符号开始字符,这将是...

@$_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

中间字符可以...

_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

最后一个字符可以是...

!_=?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

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

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

于 2015-08-12T05:32:24.300 回答