我在初始咖啡自动缩进整个文件的Atom配置文件:
atom.commands.add 'body', 'custom:auto-format', ->
editor = atom.workspace.getActiveTextEditor();
oldSelection = editor.getSelectedBufferRanges();
editor.selectAll();
editor.autoIndentSelectedRows();
editor.setSelectedBufferRanges(oldSelection);
对于除了Python之外的所有语言,它都能完美地工作!我对结果很满意。然而,咖啡脚本自动缩进完全搞乱了植物编码。在
它采用以下文件:
^{pr2}$无法识别阶乘函数的结束位置,因此缩进如下:
import sys
def factorial (n):
if n == 1:
return 1
else:
return n * factorial(n-1)
if __name__ == "__main__":
for arg in sys.argv[1:]:
n = factorial(int(arg))
print("The factorial of " + arg + " is " + str(n))
如果有人对如何补救这一点有任何见解,将不胜感激!在
你不能自动缩进Python代码,句号。在
自动缩进只适用于那些块由显式的开始和结束标记(如大括号)描述的语言。这种语言中的缩进基本上是可选的,只有人类软件开发人员用来辅助阅读。在
但是在Python中,缩进意味着代码的执行方式会随着缩进而改变。要求软件决定要应用多少缩进,就像要求计算机读懂你的思想,去猜测程序员希望代码从什么开始。在
例如,以下未缩进的代码可以以不同的方式缩进,并导致不同的结果。哪一种解释是正确的?在
将
if __name__ == '__main__':
测试视为顶级语句并不重要。Python不知道,这种测试在Python代码中的任何地方都是合法的,有时甚至可能在函数或类定义中有意义。在相关问题 更多 >
编程相关推荐