代码之家  ›  专栏  ›  技术社区  ›  durandaltheta

我的Racket Scheme命令行在Windows PowerShell中工作不正常,我做错了什么?

  •  1
  • durandaltheta  · 技术社区  · 7 年前

    除了在PowerShell中正常工作的racket repl外,我什么也得不到。作为一个非常基本的例子:

    PS C:\> racket -e '(display "hi\n")'
    hin: undefined;
      cannot reference an identifier before its definition
        in module: top-level
        internal name: hin
    PS C:\>
    

    或者,在cmd.exe中运行类似的命令(它似乎被单引号混淆了):

    C:\Windows\System32>racket -e "(display \"hi\n\")"
    hi
    
    C:\Windows\System32>
    

    在PowerShell中运行相同的:

    PS C:\> racket -e "(display \"hi\n\")"
    string::10: read-syntax: unknown escape sequence `\)` in string
    

    在bash.exe中运行正常:

    $ racket -e '(display "hi\n")'
    hi
    

    我能做些什么让Racket在PowerShell中运行得更好?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Leif Andersen    7 年前

    问题是你在用拍子写字 在动力壳中 也就是说你必须 -e 正确分析字符串 之前 它被送到球拍上。你不会在bash中碰到这个问题,因为bash足够聪明,可以让你有双引号。( " )单引号内的文本( ' )字符串。您可以轻松地通过\“在PowerShell中获得双引号,使您的命令为:

    $ racket -e '(display \"hi\n\")'
    hi