Написанный ниже простой код scala.Можно ли задать имя переменной как значение другой переменной?
var variableName:String = "Mickey"
var Mickey:String = "Mouse"
Есть ли способ заменить Микки во второй строке на значение переменной variableName? Если нет, то почему?
Редактировать: Хотя моя цель задать этот вопрос - понять, как/почему это может/не может быть сделано, я хотел бы написать о том, как меня познакомили с этой проблемой. Я написал следующий фрагмент кода.
class VertexProperty(var id:Long) extends Serializable
имя переменной идентификатор жестко закодировано, но я хочу поставить имя переменной, которая получает генерируемый во время выполнения (для например: вход от пользователя).
Ниже приведен псевдокод, который я хочу написать в scala.
//pseudo-code
1. Ask user for variable's name and type. <user types xyz and String>
2. Define a class with the following definition,
class VertexProperty(var xyz:String) extends Serializable
вы можете сделать это наоборот, чтобы получить имя переменной 'Mickey' и сохранить ее как строку в другой переменной, используя ** Reflection ** – Edwin
Зачем вам это нужно? Вероятно, есть более эффективные способы решения вашей * актуальной * проблемы, например, использование «Карты». – Jesper
Это не имеет смысла, потому что имя переменной - это просто произвольный идентификатор, который ничего не значит. Вы можете изменить все имена переменных в программе на 'v0',' v1', 'v2' и т. Д., И программа должна по-прежнему работать одинаково. Ваша идея, похоже, хочет нарушить это предположение. Независимо от того, что вы хотите достичь с этим, должны быть другие и лучшие способы. – Madoc