首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法错误,意外的tLABEL

语法错误,意外的tLABEL
EN

Stack Overflow用户
提问于 2016-03-18 11:51:32
回答 2查看 957关注 0票数 0

我得到了语法错误,在下面的tLABEL代码中出现了意外的tLABEL。错误描述指向“超时”之后的“:”。

代码语言:javascript
复制
def self.run(*args, timeout: nil, environment: {})
  # ...
end

我对Ruby一无所知。我几乎没有尝试过像用“=”代替“:”或在{}中加上“0”之类的东西,但似乎没有什么效果。

我的红宝石版本是2.1.5。

代码语言:javascript
复制
IUQ-mini:~ IUQ$ rbenv versions
system
* 2.1.5 (set by /Users/IUQ/.ruby-version)
2.1.7
2.2.3

特定的代码可以找到这里在第38行

很少有人提出这样的问题,因为错误的大括号可能会导致这种情况发生,但我没有看到错误--同样,我缺乏Ruby知识!

请帮助我理解这一错误的原因,以及如何解决这个问题?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-18 14:09:55

这在ruby1.9中是行不通的(如果实际上JRuby将您限制在1.9),因为如果它是第一个参数的话,那么splat就会马上有一个散列。

你可以这样做:

代码语言:javascript
复制
def self.run (environment = {}, timeout = nil, *args)
end

唯一的问题是,如果您想要传递成为args[]的东西,就必须显式地传递一些东西(甚至为零)。

票数 2
EN

Stack Overflow用户

发布于 2016-03-21 07:34:10

Calabash iOS和Android需要红宝石>= 2.0。

推荐使用最新版本的红宝石。

目前不支持任何版本的JRuby。

特拉维斯建筑

如果您查看该构建的信息,您会发现它失败了,因为它运行在ruby1.9.3上。

我相信您已经安装了ruby2.0。我不认为你在用它。

代码语言:javascript
复制
$ rbenv versions
  system
  1.8.7-p375
  1.9.3-p484
  2.0.0-p481
  2.1.5
  2.2.2
  2.2.3
* 2.3.0 (set by /Users/moody/.rbenv/version)  <== Active ruby in this dir
  jruby-1.7.18

 $ rbenv version # Active ruby in this directory
 2.3.0

您从未提到正在使用的run_loop的哪个版本。您应该更新到最新的稳定版本。

https://github.com/calabash/calabash-ios/wiki/Updating-your-run-loop-version

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36083640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档