2016-08-24 3 views
1
var studSubj: [String: Set<String>] = [ 

    "Juan":["OOP","WEBAPP","MOBILEAPP","XML"], 

    "Pedro":["XML","DATASTRUCT","OOP","WEBAPP"], 

    "Jose":["WEBAPP","XML","SYSAD"]]; 

print(studSubj["Juan"]!.subtract(studSubj["Pedro"]!)); 

Я использую IBM Swift Sandbox для имитации кода. Единственный вывод, который я вижу, это(), что-то не так с моим кодом?Swift 3 Set Operations Subtract

[EDIT] Я вычитаю, чтобы получить уникальные предметы, сделанные juan.

+0

почему вычитая из 'studSubj [ "Хуан"] '? – ddb

+0

, чтобы получить уникальные предметы, которые Педро не имеет, что Хуан. В частности, «MOBILEAPP». –

ответ

1

попробовать это

print(studSubj["Juan"]!.subtracting(studSubj["Pedro"]!)); 
+0

Это сработало! Благодарю. –

+0

@ RalphMacalino приветствую :) Если бы мой ответ был полезен, пожалуйста, проголосуйте за него и примите его, это будет так ясно полезно также для каждого пользователя, который может посетить ваш вопрос – ddb

0

subtract, как представляется, изменяемая операция, то есть он влияет на набор, на котором он называется. Чтобы получить новый набор как возвращаемое значение, используйте subtracting, как предлагает @ddb.

Например, если OP добавил следующую строку в его код:

print(studSubj["Juan"]!

он увидит желаемый результат, то есть [ "MobileApp"]