Вы можете иметь строковые скаляры, так что вы можете сделать это.Я не понимаю, почему это было бы полезно, но это может быть неудачей воображения;Вы могли бы просветить нас о том, почему вы этого хотите.
. scalar foo = yq(2018, 4)
. scalar foo = string(scalar(foo), "%tq")
. scalar list
foo = 2018q4
Что отличается от скаляров, так это то, что нет никакого смысла в том, чтобы формат отображения был присоединен или связан со скаляром.Вы можете хранить числовую дату или строковую дату в скаляре, но это единственный выбор.Вы не можете иметь числовое значение с форматом сбоку, который Stata будет использовать для отображения, когда это необходимо.Вы узнали это, когда попытались format
скаляр.
Боже мой, знает ли это быстрее (чем что?) Или более элегантно (кто решает?).Основное отличие состоит в том, что переменная явно может содержать много дат, и измененный формат, созданный только один раз с помощью format
, может применяться к ним последовательно, тогда как изменение способа отображения группы скаляров требует цикла каждый раз, когда вы делаете это, пока яможно увидеть.Кроме того, из вышеизложенного следует, что вам может потребоваться сохранить два набора скаляров, один числовой для расчета и одну строку для отображения.
Я использовал константы даты и, как правило, обнаружил, что либо я использую их напрямую (вычитая 2000 в качестве базы, не требуя их помещать во что-либо), либо использую локальные макросы для их хранения.Но я не вижу ничего плохого в использовании скаляров, кроме, возможно, косвенного.