在 Ruby 模式下打开 Python 脚本无效
Opening Python script in Ruby mode is not working
正在尝试 Python 3.9 中的新 "Ruby Mode",但无法正常运行:
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
中的错误,对吧?
运行 Ruby 模式下的文件必须由 Ruby shebang 引导。尝试使用:
#!/usr/april/fools/ruby
puts "Hello World"
正在尝试 Python 3.9 中的新 "Ruby Mode",但无法正常运行:
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
中的错误,对吧?
运行 Ruby 模式下的文件必须由 Ruby shebang 引导。尝试使用:
#!/usr/april/fools/ruby
puts "Hello World"