作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
2年前关闭。
Improve this question
我有一个带有包装行的文件。它恰好是包装多行的 TCL 代码。 (但它可以是任何作为换行规则的东西。)
像:
set long [ some cmd { some long stuff \
more stuff \
even more stuff \
end of cmd} but going on \
end of set ]
最佳答案
我不是那么有经验的 Tcl 程序员,所以我的建议很简单。
根据您的问题,我猜您是逐行读取文件(我猜是使用“gets”),然后对该行执行某些操作(模式匹配)。因此,最直接的实现将是这样的(顺便说一句,问题之一是您喜欢如何处理“上一行”的尾随空格和“下”行的前导空格):
;# Note: The code bellow was not tested, and may not run cleanly,
;# but I hope it shows the idea.
;# Like "gets", but concatenates lines, which finish with "\" character with
;# the next one.
proc concatenatingGets {chan} {
set wholeLine ""
set finishedReadingCurentLine no
while {! $finishedReadingCurrentLine } {
set currentLine [gets $chan]
;# more complicated rule can be used here for concatenation
;# of lines
if {[string index $currentLine end] == "\\"} {
;# Decide here what to do with leading and trailing spaces.
;# We just leave them as is (only remove trailing backslash).
;# Note, that Tcl interpreter behaves differently.
append wholeLine " " [string range $currentLine 0 end-1]
} else {
set finishedReadingCurrentLine yes
} ;# if-else strig is to be concatenated
} ;# while ! finishedReadingcurrentLine
} ;# concatenatingGets
;# Now use our tweaked gets:
set f [open "myFileToParse.txt" r]
while {![eof $f]} {
set currentLine [concatenatingGets $f]
;# ... Do pattern matching ot current line, and whatever else needed.
}
close $f
关于tcl - 读取换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15582257/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!