Чтение атрибута YAML [дубликат]

Я думаю, что когда вы определяете String, вы определяете объект. Поэтому вам нужно использовать .equals(). Когда вы используете примитивные типы данных, вы используете ==, но с String (и любым объектом) вы должны использовать .equals().

0
задан techraf 22 December 2017 в 05:08
поделиться

1 ответ

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.

В вашем примере значение внутри квадратных скобок является строкой (цитируется), поэтому все приведенные выше примеры эквивалентны.

2
ответ дан techraf 17 August 2018 в 09:56
поделиться
  • 1
    используя params: на самом деле это было первое, что я пробовал, но из-за того, что я неправильно разместил файл yaml, он не сработал. Спасибо за великое объяснение и за то, что спасли меня от моей глупой ошибки !!! – TryHarder 22 December 2017 в 05:14
Другие вопросы по тегам:

Похожие вопросы: