I am trying to archive that a function is returning a unicode string and I want to log it into the console. But it just either displays the information about the function or just not a unicode string.
let test = () => "ÜTEST"
Js.log(test());
Js.log({j|$test()|j});
The first one just returns "ÃTEST" and the second one just returns information about the function itself.
Here is a working example: https://reasonml.github.io/en/try?rrjsx=true&reason=FAGwpgLgBBYM7QLxQBQEoqIHxQEQB2AVAUQGVDdhgApOAOhAHsBzFWBdNAbitoZZQBvAFYAfACTsI6UcIC+3IA
You have to specify that the string is unicode at the point of creation, not at the point of use:
Also, string interpolation, as in
{j|$test()|j}, only works with simple variable substitution.$testwill be replaced by the contents oftest, which is a function. It will not yield the result of callingtest.For more details, see the section on Unicode Support & Interpolation in the BuckleScript manual.