解析中的特殊字符

Special character in parse

我想在 parse 中使用的文本中添加一个更大的等号。我为此使用 \u2265

parse(text = 'print("\u2265")')

这样,甚至 encoding = "UTF-8" 也会导致 expression(print("=")),较大的等号是等号。我该怎么做才能保留更大的等号?

你必须加倍反斜杠:

> eval(parse(text = 'print("\u2265")'))
[1] "≥"

由于 Windows 上 R 的 Unicode 处理错误,它需要您明确指定编码:

result = parse(text = 'print("\u2265")', encoding = 'UTF-8')

这个的结果看起来不正确——例如,在我的终端上它打印

expression(print("="))

… 然而,这只是表达式打印的一个错误。实际值是正确的。您可以通过以下两种方式之一验证这一点:

  1. 提取未计算的表达式:

    result[[1L]]
    
    print("≥")
    
  2. 正在计算 表达式:

    eval(result)
    
    [1] "≥"