2014-02-09 5 views
1

Мне нужно преобразовать int в его эквивалентный символ, используя Char.chr-функцию, но почему функция возвращает каждый символ в форме #"\^A" вместо #"A" (вот как я этого хочу быть).Использование Char.chr в SML

+0

Это не похоже на меня. Можете ли вы привести пример кода, который вы используете, где он это делает? – qaphla

+0

@qaphla Хм, странно. Просто введите «Char.chr 1», например, верните «val it = #» \^A »: char'. – froli

ответ

3

Что вы видите, так это то, как управляющие символы (код ASCII 0-31) довольно печатаются интерактивным потоком. Например, #"\^A" эквивалентен #"\001". Система SML, по-видимому, использует свою собственную функцию Char.toString для печати значений типа char. Попробуйте chr 65, который должен быть напечатан как #"A".

Смежные вопросы