Size: a a a

Язык программирования Julia / Julia programming language

2020 December 24

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Это бывает, да. Но обычно, после того как достаточное количество шишек набито такого уже не происходит.
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
clsweights::DefaultDict{Symbol, DefaultDict{AbstractString, Int64}}
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Хм.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ошибка говорит, что тип другой.
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Даниил Николаев
model.clsweights[cls][string] += 1
Это моя строка в коде, там где cls там Symbol, где string - обычный string
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Сейчас пример нормальный скину
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
DataStructures.DefaultDict{Any,Any,DataStructures.DefaultDict{Any,Any,Int64}} - совсем другой тип.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Во-первых типы ключей Any, во-вторых тип значения должен идти третьим, а не вторым типом.

Ну и в третьих, должно быть три типа, а не два.
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
using DataStructures

clsweights = DefaultDict{Symbol, DefaultDict{AbstractString, Int64}}(DefaultDict{AbstractString, Int64}(0))

clsweights[:test]["asd"] += 1
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
вот пример
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Здесь должно быть понятней что мне надо от clsweights
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
julia> println(clsweights[:test]["asd"])
0
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
julia> println(clsweights[:test]["asd"] + 1)
1
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Слов нет
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Опять само починилось
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Хм, пока что оставляя в стороне вопрос о том почему это не работает, хочу заметить, что это достаточно опасная конструкция. Дефолтное значение будет использоваться только один раз, то есть если ты один раз проапдейтишь это значение, то во всех остальных случаях будет использоваться уже обновленное значение.
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
А, мб
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Подозреваю, что то, что нужно на самом деле - это обычный Dict, значения которого обычным get вытягиваются.
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Или придумать DefaultDict который копирует
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Можно и так, но обычно get/set достаточно, чтобы выразить любую идею.

К тому же, default значение в Default Dict имеет смысл тогда, когда он используется только на чтение. Записывать в дефолтное значение - это немного непонятная операция.
источник