在哈希中检索哈希中的值



我有一个这样的哈希:

$login_form = {
    $username => {web_element_type: :id, web_element: 'uname'},
    $password => {web_element_type: :id, web_element: 'pass'}
}

如何用最简单的方法检索$password的 Web 元素类型和 Web 元素?

此解决方案可以帮助您并准备好哈希

像这样定义哈希

$login_form = {
  :username => {web_element_type: :id, web_element: 'uname'},
  :password => {web_element_type: :id, web_element: 'pass'}
}

您可以像这样检索password

$login_form[:password] 

如果您有任何问题,请告诉我。

全局变量 ?

您确定需要全局变量吗?

现在,哈希中的键不是字符串、符号或整数,而是变量 $username$password 引用的对象。这些变量是全局变量,可以从代码中的任何位置访问。对于名为 password 的变量来说,这似乎不是一个好主意。

如果这些变量没有初始化,它们都是nil的,所以你的login_form实际上是:

{nil=>{:web_element_type=>:id, :web_element=>"pass"}}

$username的值已被 $password 覆盖。

如果您确定login_form应该是全局变量:

$login_form = {
    username: {web_element_type: :id, web_element: 'uname'},
    password: {web_element_type: :id, web_element: 'pass'}
}
p $login_form[:password].values_at(:web_element_type,  :web_element)
#=> [:id, "pass"]
type, element = $login_form[:password].values_at(:web_element_type,  :web_element)
p type
#=> :id
p element
#=> "pass"

如果没有,您可以使用@login_form或仅使用login_form

如果你仍然感到困惑,你可以看看这个。

最新更新