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 给你的上面一行。
我有以下代码:
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 给你的上面一行。