如何正确缩进 OSC 配置
How to indent OSC config correctly
我正在尝试在 haskell 文件中为 OSC 配置找到正确的缩进。当我将以下内容写成两行时
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget", oAddress = "10.0.0.3", oPort = 7000, oPath = "/tidal", oShape = Nothing, oLatency = 0.02, oPreamble = [], oTimestamp = MessageStamp }
有效,但如果我使用以下缩进,它不会并给我一个解析错误:可能是错误的缩进或不匹配的括号。我尝试了变体,但其中 none 有效。任何帮助表示赞赏。
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget",
oAddress = "10.0.0.3",
oPort = 7000,
oPath = "/tidal",
oShape = Nothing,
oLatency = 0.02,
oPreamble = [],
oTimestamp = MessageStamp
}
我怀疑您使用的任何工具都将其输出发送到 ghci,而不是出于某种原因直接使用 ghc。 ghci 被设计成交互式的,所以默认情况下,它一次接受一行并立即处理它。这会导致两个问题:你的类型签名会被自己处理,而 ghci 会抱怨没有伴随的绑定; unityTarget = OSCTarget {oName = "unityTarget",
行将自行处理,ghci 会抱怨 {
未关闭(但您可能会看到无用的 "parse error" 消息)。
最简单的解决方法是用 :{
和 :}
括起任何多行内容,它们是 ghci 用于开始和结束多行命令的标记,如您发布的示例文件中的其他地方所示,因此:
:{
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget",
oAddress = "10.0.0.3",
oPort = 7000,
oPath = "/tidal",
oShape = Nothing,
oLatency = 0.02,
oPreamble = [],
oTimestamp = MessageStamp
}
:}
我正在尝试在 haskell 文件中为 OSC 配置找到正确的缩进。当我将以下内容写成两行时
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget", oAddress = "10.0.0.3", oPort = 7000, oPath = "/tidal", oShape = Nothing, oLatency = 0.02, oPreamble = [], oTimestamp = MessageStamp }
有效,但如果我使用以下缩进,它不会并给我一个解析错误:可能是错误的缩进或不匹配的括号。我尝试了变体,但其中 none 有效。任何帮助表示赞赏。
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget",
oAddress = "10.0.0.3",
oPort = 7000,
oPath = "/tidal",
oShape = Nothing,
oLatency = 0.02,
oPreamble = [],
oTimestamp = MessageStamp
}
我怀疑您使用的任何工具都将其输出发送到 ghci,而不是出于某种原因直接使用 ghc。 ghci 被设计成交互式的,所以默认情况下,它一次接受一行并立即处理它。这会导致两个问题:你的类型签名会被自己处理,而 ghci 会抱怨没有伴随的绑定; unityTarget = OSCTarget {oName = "unityTarget",
行将自行处理,ghci 会抱怨 {
未关闭(但您可能会看到无用的 "parse error" 消息)。
最简单的解决方法是用 :{
和 :}
括起任何多行内容,它们是 ghci 用于开始和结束多行命令的标记,如您发布的示例文件中的其他地方所示,因此:
:{
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget",
oAddress = "10.0.0.3",
oPort = 7000,
oPath = "/tidal",
oShape = Nothing,
oLatency = 0.02,
oPreamble = [],
oTimestamp = MessageStamp
}
:}