Я думаю, что когда вы определяете String
, вы определяете объект. Поэтому вам нужно использовать .equals()
. Когда вы используете примитивные типы данных, вы используете ==
, но с String
(и любым объектом) вы должны использовать .equals()
.
params['box'].t1
относится к Albany
в:
params:
box:
t1: "Albany"
t2: "Albuquerque"
Это то же самое, что и params.box.t1
и params['box']['t1']
.
Кронштейны относятся к имени ключа, поэтому они подразумевают, что это словарь.
Обычно вы используете квадратную скобку, если хотите обратиться к клавише с помощью переменной:
vars:
wanted_key: box
params:
box:
t1: Albany
other:
t1: Albuquerque
Затем params[wanted_key].t1
относится к Albany
.
В вашем примере значение внутри квадратных скобок является строкой (цитируется), поэтому все приведенные выше примеры эквивалентны.