Ну, в хэше и ключом, и значением может быть любой объект.Вам просто нужно убедиться, что вы создаете действительный объект.:1234
не является допустимым символом.Вы можете использовать
x = {1234 => ['foo', 'bar']}
Для доступа к массиву используйте x[1234]
.
В другой ноте, если вы хотите использовать символ, он должен начинаться с символа, а не с цифры:
x = {:poke => ['foo', 'bar']}
И вы можете получить к нему доступ с помощью x[:poke]
.
Чаще всего ключом является: Fixnum
, String
или Symbol
, но не ограничиваясь ими.
У вас также может быть какой-то абстрактный класс, который вы создали, и использовать его в качестве ключа, но у меня никогда не было необходимости в этом;не значит, что это не практично.