Şu kod çok hoşuma gitti paylaşmak istedim.
nameList dizisinde olmayıp socketDataList veya socketOrderBookHelperMap adındaki anahtarı dizge olan iki "associative" listeden çıkarmam gerekiyordu. İlk defa setDifference ve merge kullanmak kısmet oldu paylaşmak istedim .
void CloseNotIntersecting( string[] nameList, string txName)
{
import std.algorithm : setDifference, merge, uniq, each;
auto combinationRange = socketDataList.keys.merge( socketOrderBookHelperMap.keys).uniq;
combinationRange.setDifference( nameList ).each!( a => CloseSockets(a, txName) );
}
DList!Json[string] socketDataList;
OrderBookSocketHelper[string] socketOrderBookHelperMap;
Birde soru sorayım. Acaba merge fonksiyonun otomatik "uniq" yapma özelliği varmıdır bir şekilde. Uniq 'i çağırmadan yapabilirmiydim?
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]