Ruby 不会 return 从函数中散列

Ruby will not return hash from function

我有以下代码:

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

我无法发现这段代码中的语法错误,如果有人能指出,我将不胜感激。

您在 :user => packageuser 之后缺少逗号,这会导致语法错误。像这样的错误,多年的凝视告诉我问题通常是行号 Ruby 给你的上面一行。