История изменений
Исправление DarkEld3r, (текущая версия) :
from_str::? Это точно работает? А как оно получает массив (или нечто с индексом)?
Работает. from_str
возвращает тип, который умеет десериализоваться. В данном случае serde_json::Value
у которого реализована индексация.
Это хорошо, когда всё укладывается в строку. Но ведь есть ещё массивы, соответствия, объекты GUI…
Не очень понимаю. В каком виде эти «массивы, соответствия, объекты GUI» попадают в программу и что с ними делать надо? Если ничего, а просто передать дальше, то и типизировать не обязательно. Если же всё-таки какое-то взаимодействие есть, то есть и тип.
Если бы 1С был типизированный, то пришлось бы копипастить функцию
Вероятно, не понял пример, но меня он не убедил. (:
Написать такой ужас можно и с типами:
enum Data {
SomeData,
OtherData,
}
fn foo(data: Data) {
match Data {
...
}
}
По крайней мере, будет видно, что там за данные, а не пытаться угадать, что там передали и что с ним делать.
Исходная версия DarkEld3r, :
from_str::? Это точно работает? А как оно получает массив (или нечто с индексом)?
Работает. from_str
возвращает тип, который умеет десериализоваться. В данном случае serde_json::Value
у которого реализована индексация.
Это хорошо, когда всё укладывается в строку. Но ведь есть ещё массивы, соответствия, объекты GUI…
Не очень понимаю. В каком виде эти «массивы, соответствия, объекты GUI» попадают в программу и что с ними делать надо? Если ничего, а просто передать дальше, то и типизировать не обязательно. Если же всё-таки какое-то взаимодействие есть, то есть и тип.
Если бы 1С был типизированный, то пришлось бы копипастить функцию
Вероятно, не понял пример, но меня он не убедил. (:
Написать такой ужас можно и с типами:
enum Data {
SomeData,
OtherData,
}
fn foo(data: Data) {
match Data {
...
}
}
По крайней мере, будет видно, что там за данные, а не пытаться угадать, что там передали и что с ним делать.