我正在使用Python生成Coffeescript。
我有一个如下的模板字符串:
format = {
'start': '''
getEvents = (aic) ->
events = {
''',
'event_start': '''
{event_name}: {
precommand: (aic) ->
{precommands}
postcommand: (aic) ->
{postcommands}
lines: [
''',
'event_end': '''
]
}
''',
'end': '''
}
'''
}
Python会非常有用地保留那些模板的缩进级别,以产生正确缩进的Coffeescript。但是,当我随后尝试用多行格式设置那些模板时:
precommands = ["aic.eggs = false", "if aic.ham then spam = true"]
format['event_start'].format(precommands="\n".join(precommands))
我显然得到了一些缩进不正确的东西:
'''
{event_name}: {
precommand: (aic) ->
aic.eggs = false
if aic.ham then spam = true
postcommand: (aic) ->
{postcommands}
lines: [
'''
如何获得格式化过程以保留缩进级别?