我是编程和Ruby的新手。在一些现有的代码中,它说的是这样的:
kid_raising_btn=query("switch marked:'KIDRAISING'",:isOn).first
据此,我了解定义了一个变量kid_raising_btn
,它将查询并返回true或false,然后调用方法first
(但这很令人困惑)。
如何找到first
的内容?
答案 0 :(得分:1)
根据你的描述,这听起来像链接的方法可能会导致你的困惑,所以首先让我们重写这样的代码行:
query_response = query("switch marked: 'KIDRAISING'", :isOn)
kid_raising_btn = query_response.first
现在,更容易看到#query方法返回一个具有#first方法的对象。您可以查看此对象以查看它是什么类(query_response.class
),然后查找该类的相应文档或在代码库中查找方法定义。例如,如果#query返回一个数组,您可以在此处找到文档:http://ruby-doc.org/core-2.0.0/Array.html#method-i-first
答案 1 :(得分:1)
“。first”是一种方便的方法。 UI查询的答案以数组形式出现。 所以“.first”代表数组的第一个元素。 像“.count”
这样的方法很少例: 你的查询:
ans = query("button",:accessibilityLabel)
假设你会得到这样的结果
[
[0] "icon rewards new",
[1] "icon my receipts new",
[2] "icon my account",
[3] "icon order@2x",
[4] "icon check in"
]
如果你像这样使用“.first”
ans2 = query("button",:accessibilityLabel).first
你将得到一个带有第一个元素的String,而不是数组。
"icon rewards new"
现在你可以看到第一个元素作为答案