Ничего общего с синтаксисом замыкающего замыкания не имеет.
Если вы попробуете приведенный ниже код, он также будет жаловаться:
let firstValues = Dictionary(pairs, uniquingKeysWith: { [110] })
Компилятор жалуется, что вы не используете новое значение. У вас есть несколько способов обойти.
1) дать значениям имя:
let firstValues1 = Dictionary(pairs) { oldValue, newValue in oldValue }
2) вы также можете игнорировать значение, используя подчеркивание
let firstValues2 = Dictionary(pairs) { oldValue, _ in oldValue }
3) использовать любой тип использования старого значение, а также новое значение. Простой печати достаточно для компилятора.
let firstValues3 = Dictionary(pairs) {
print($1)
return [113]
}
You can use StarUML with the ER extension. It is totally free, stable and easy to learn.
Update: 09.10.2017: StarUML is not free anymore!
Toad Data Modeler - costs 400 USD, but is worth the price. Currently it offers many nice features, and they are still adding more. There is an excellent user community around this tool, and it is quite easy to stay in touch with development team.
Oracle Data Modeling - works with Oracle, MsSQL and DB2
MySQL Workbench - works with MySQL
Dbdesigner 4 в http://www.fabforce.net/dbdesigner4/downloads.php . Он бесплатный, простой в использовании, выполняет обратный инжиниринг.
Try Dezign for Databases. It's very easy to use (but powerful enough for most development tasks, supports a wide range of databases and finally the price (~245 $) is not that much. Personally I'm very happy with the tool.
In case you are using Visual Studio - it has it's own diagram tool integrated. Works good enough for me.