Вы не можете изменять кортеж, но вы можете изменить содержимое вещей, содержащихся в кортеже. Списки (вместе с наборами, dicts и объектами) являются ссылочным типом , и, таким образом, «вещь» в кортеже является просто ссылкой - фактический список является изменяемым объектом, на который указывает эта ссылка и может быть изменен без изменения самой ссылки.
( + ,) <--- your tuple (this can't be changed)
|
|
v
['a'] <--- the list object your tuple references (this can be changed)
После thing[0][0] = 'b'
:
( + ,) <--- notice how the contents of this are still the same
|
|
v
['b'] <--- but the contents of this have changed
После thing[0].append('c')
:
( + ,) <--- notice how this is still the same
|
|
v
['b','c'] <--- but this has changed again
Причина, по которой ошибки +=
заключаются в том, что она не полностью эквивалентна .append()
- на самом деле это добавление, а затем назначение (и присваивание не выполняется), а не просто добавление на место .
См. https://blogs.msdn.microsoft.com/taxiahou/2013/07/30/the-usage-of-running-a-subset-of-tests-in-google-test-framework-gtest_filter / . Можно найти ясный пример там.
Исключения определяются '-' знак. Можно сказать несколько разделенных:. никакая потребность повторения - с:.
--gtest_filter=-*str*
: Это запустит тесты, которые не содержат строку "ул."
--gtest_filter=-*str1*:*str2*
: Это запустит тесты, которые не содержат или "str1" или "str2":
--gtest_filter=*str*:-*str1*:*str2*
: Это запустит тесты, которые содержат ул. и которые не содержат или str1 или str2.
Так, что-либо сопровождаемое '-' будет считаться для списка исключения.
Так, в Вашем случае это будет --gtest_filter=-ABC.*:BCD.*