2016-07-14 91 views
-2

返回哈希我有以下代碼:紅寶石將不會從功能

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給你的行號之上一行。

+0

謝謝!我仍然得到'意外的$ end',但我懷疑它是來自不同的語法錯誤。最奇怪的部分是,它發現這個相同的代碼只是在昨天完全可以接受的... –