0

ruby でこれが構文エラーになるのはなぜですか?

#!/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 abc1
./test.rb:5: syntax error, unexpected ',', expecting ']'
        ,       "xyz1-2-l" 
         ^
./test.rb:6: syntax error, unexpected ',', expecting $end
        ,       "dws-zxy-l" 
         ^

...単純にすべてを同じ行に配置すれば、問題ありません...

$ 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
4

2 に答える 2

2

Ruby では改行が重要です。行の終わりにコンマを置くか、改行の前にバックスラッシュを使用して、行が継続していることを示す必要があります (もちろん、その場合、コンマを次の行に移動する意味は何ですか?)。

于 2013-04-09T23:24:13.697 に答える