首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ruby中我的数组初始化有什么问题?

在ruby中我的数组初始化有什么问题?
EN

Stack Overflow用户
提问于 2013-04-10 07:04:48
回答 2查看 71关注 0票数 0

为什么这是ruby中的语法错误?

代码语言:javascript
复制
#!/usr/bin/ruby

servers = [ 
            "xyz1-3-l" 
    ,       "xyz1-2-l" 
    ,       "dws-zxy-l" 
    ,       "abcl" 
]

hostname_input = ARGV[0]
hostname = hostname_input.gsub( /.example.com/, "" )
servers.each do |server|
    if  hostname == server then 
            puts "that's the one"
            break
    end
end

..。当我执行这个脚本时,我得到了这个输出...

代码语言:javascript
复制
$ ./test.rb abc1
./test.rb:5: syntax error, unexpected ',', expecting ']'
        ,       "xyz1-2-l" 
         ^
./test.rb:6: syntax error, unexpected ',', expecting $end
        ,       "dws-zxy-l" 
         ^

..。如果我只是把所有的东西都放在同一行上,那就没问题了。

代码语言:javascript
复制
$ cat test.rb 
#!/usr/bin/ruby

servers = [ "xyz1-3-l" ,        "xyz1-2-l" ,    "dws-zxy-l" ,   "abcl" ]

hostname_input = ARGV[0]
hostname = hostname_input.gsub( /.example.com/, "" )
servers.each do |server|
        if  hostname == server then 
                puts "that's the one"
                break
        end
end
$ ./test.rb dws-zxy-l
that's the one
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-10 10:00:51

听着,没有逗号(或引号):

代码语言:javascript
复制
servers = %W[
    xyz1-3-l
    xyz1-2-l
    dws-zxy-l
    abcl
]

# => ["xyz1-3-l", "xyz1-2-l", "dws-zxy-l", "abcl"] 
票数 3
EN

Stack Overflow用户

发布于 2013-04-10 07:24:14

换行符在Ruby中很重要。您需要将逗号放在行尾,或者在换行符之前使用反斜杠来表示该行正在继续(当然,在这种情况下,将逗号移到下一行有什么意义?)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15914108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档