0

在 Python 3.9 中尝试新的“Ruby 模式”,但无法正常工作:

中的简单脚本mymodule

puts "Hello World"

以 ruby​​ 模式(“rb”)执行文件时的预期输出是打印在标准输出上的“Hello World”,但我收到一个错误:

>>> with open("mymodule", mode="rb") as f:
...     for line in f:
...         exec(line)
...
Traceback (most recent call last):
  File "<string>", line 1
    puts "Hello World"
                     ^
SyntaxError: invalid syntax

看起来这些行被正确解析为rb"ruby style lines",所以它显然没有open错:

>>> line.strip() == rb'puts "Hello World"'
True

这里有什么问题?那一定是一个错误exec,对吧?

4

1 回答 1

2

在 Ruby 模式下运行文件必须由 Ruby shebang 引导。尝试使用:

#!/usr/april/fools/ruby
puts "Hello World"
于 2020-04-01T18:36:33.697 回答