Строковый юникод с функциями - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь заархивировать, что функция возвращает строку в юникоде, и я хочу войти в консоль. Но он просто отображает информацию о функции или просто не является строкой Юникода.

let test = () => "ÜTEST"

Js.log(test());

Js.log({j|$test()|j});

Первый просто возвращает "ÃTEST", а второй просто возвращает информацию о самой функции.

Вот рабочий пример: https://reasonml.github.io/en/try?rrjsx=true&reason=FAGwpgLgBBYM7QLxQBQEoqIHxQEQB2AVAUQGVDdhgApOAOhAHsBzFWBdNAbitoZZQBvAFYAfACTsI6UcIC+3IA

1 Ответ

5 голосов
/ 04 марта 2020

Вы должны указать, что строка является Unicode в точке создания, а не в точке использования:

let test = () => {j|ÜTEST|j}
Js.log(test());

Кроме того, интерполяция строки, как в {j|$test()|j}, работает только с простой переменной замена. $test будет заменено содержимым test, которое является функцией. Это не приведет к результату вызова test.

Подробнее см. В разделе Поддержка и интерполяция Unicode в руководстве по BuckleScript.

...