2015-01-02 4 views
4

Как создать статический изменяемый хэш? Я в порядке с небезопасным кодом.Как создать статический изменяемый hashmap?

Обычный статический объект не позволяет использовать глобальные переменные с конструкторами.

В качестве примера, я хочу, что есть в https://gist.github.com/Kimundi/8782487, но HASHMAP можно изменить.

Я понимаю, что глобальное совместное изменчивое состояние не то, что очень ржавое, но я просто хочу знать, возможно ли такое.

+0

Как написано в настоящее время, трудно точно сказать, что вы просите. См. Страницу [Как задать страницу] (http://stackoverflow.com/help/how-to-ask) для получения помощи в разъяснении этого вопроса. – carlodurso

+0

Возможно, вы также захотите добавить некоторый фон в свой вопрос. Похоже, вы спрашиваете, как иметь глобальные изменчивые общие данные, что довольно сильно против Rust. – Shepmaster

+1

Возможно, вы сможете приспособить суть Кимунди к тому, чтобы он использовал DerefMut вместо Deref. – wingedsubmariner

ответ

8

Увидев, что у вас уже есть решение для глобального объекта, который не изменен, возможно, вы можете использовать один из контейнеров cell, чтобы добавить внутреннюю изменчивость?

Реально, это звучит как a Плохая идея. Глобальное изменчивое состояние проблематично. Почему вы не можете передать измененный hashmap методам/объектам, которые в нем нуждаются?

Вы также можете заказать регистрацию the implementation of stdin, что обеспечивает безопасный доступ к истинному глобальному синглтон.

+1

Спасибо. Ваша ссылка на stdin - это именно то, что я ищу, а также отличный пример того, когда это уместно. – Jack