2016-07-14 14 views
-2

からハッシュを返しません。このコードを実行する際にRubyは私が次のコードを持っている機能

def parse_package_url package, directory 
    branchget = package.split '@' 
    branch = branchget.length > 1 ? branchget[1] : false 
    siteget = branchget[0].split(':') 
    site = siteget.length > 1 ? siteget[0] : 'gitlab' 
    repoget = (siteget.length > 1 ? siteget[1] : siteget[0]).split '/' 
    packagename = repoget[1] 
    packageuser = repoget[0] 
    path = "#{directory}/#{packagename}" 
    { 
    :branch => branch, 
    :site => site, 
    :name => packagename, 
    :user => packageuser 
    :path => path, 
    :repo => repoget.join('/') 
    } 
end 

を、私は、次のエラーを取得:

syntax error, unexpected tSYMBEG, expecting '}' (SyntaxError) 
    :path => path, 
    ^
syntax error, unexpected tASSOC, expecting tCOLON2 or '[' or '.' 
    :repo => repoget.join('/') 
syntax error, unexpected '}', expecting keyword_end 

私はこのコードでは、私の文法の間違いを見つけることができません誰かがそれを指摘できるかどうかは分かります。

答えて

3

:user => packageuserの後にカンマが入力されていないと、構文エラーが発生します。このようなエラーがあると、何年もの凝視が、Rubyが提供する行番号の1行上にある問題がよくあることを教えてくれました。

+0

ありがとうございました!私はまだ '予期しない$終わり 'を得ていますが、代わりに別の構文ミスから来ていると思われます。最も奇妙な部分は、この同じコードが昨日完全に受け入れられることがわかったということです... –

関連する問題