Globale Variablen?
Sind Sie sicher, dass Sie global variables benötigen?
Derzeit sind die Schlüssel in Ihrem Hash nicht Zeichenfolge, Symbol oder Ganzzahlen, sondern das Objekt, auf das die Variablen $username
und $password
verweisen. Diese Variablen sind global und von überall in Ihrem Code aus zugänglich. Dies scheint für eine Variable namens password
keine gute Idee zu sein.
Wenn diese Variablen nicht initialisiert werden, sie sind beide nil
, so dass Ihr login_form
tatsächlich ist:
{nil=>{:web_element_type=>:id, :web_element=>"pass"}}
Die Werte für $username
von $password
überschrieben wurden.
Wenn Sie sicher sind, dass login_form
eine globale Variable sein sollte:
$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"
Wenn nicht, Sie @login_form
oder einfach nur login_form
nutzen könnten. Wenn Sie immer noch verwirrt sind, können Sie this betrachten.
Ich würde vorschlagen, dass Sie gehen, lesen Sie einige Intro Ruby-Syntax. Ruby unterscheidet sich von PHP. Man kann nicht einfach erwarten, dass die Syntax einer Sprache überall angewendet wird. – mudasobwa