tostring
nie jest funkcją; to polecenie, aw Stacie te dwie rzeczy są całkiem odmienne. Nic, prócz zgadywania, prowadzi do składni, której próbujesz.
tostring stateString, gen(state)
powinien działać. Ale tostring
jest po prostu otoki dla funkcji string()
i
gen state = string(stateString)
powinny również działać, aby uzyskać zmiennych typu string.
Ale wartościami łańcuchów byłyby "11", ... "99" i to jest niewłaściwe podejście. Biorąc pod uwagę etykiety wartości, dobrze jest mieć tę zmienną jako numeryczną.
Jeśli naprawdę potrzebujesz zmiennej łańcuchowej, potrzebujesz decode
, a nie tostring
.
decode stateString, gen(state)
EDIT: Składnia tostring()
będzie działać tylko wtedy, gdy tostring()
była funkcja, która nie jest. Oryginalna odpowiedź wyjaśniła zatem, dlaczego kod PO był błędny, a także wyjaśnił, jak zrobić to poprawnie. W tej edycji opisałem, jak używać decode
.
Ty nie ** ** potrzeba, aby to zrobić. Jak już wyjaśniono, istnieje więcej bezpośrednich rozwiązań wykorzystujących tylko oficjalny kod. –