我希望能够解析不一定格式良好的XML.例如,我正在寻找一种模糊而非严格的解析器,能够从严重嵌套的标签中恢复.我可以写自己的,但首先要问这里.
更新:
我想要做的是从HTML中提取链接和其他信息.在格式良好的XML的情况下,我可以使用Scala XML API.在格式不正确的XML的情况下,以某种方式将其转换为正确的XML(以某种方式)并以相同的方式处理它会很好,否则我必须有两个完全不同的函数集来处理文档.
显然因为输入结构不正确并且我正在尝试创建一个结构良好的树,所以必须要有一些启发式(例如,当你看到<parent><child></parent>你会关闭第<child>一个,当你看到<child>你忽略它时) ).但当然这不是一个正确的语法,因此没有正确的方法.
我正在评估/测试基于浏览器的应用程序,可能是用普通的lisp编写的.除了基于浏览器的界面外,该软件还提供了一个"监听器"窗口,其中包含"CL-User>"REPL提示符.
我希望从REPL提示中检查函数,符号和包的列表.这样我就可以将前端功能与通过REPL公开的内容联系起来.
谷歌搜索对我来说是徒劳的,因为它导致教程和资源逐步教授lisp.
任何提示,通过REPL检查状态的指针将非常感激.
一个快速的问题.我在写:
puts "%.3f %.4f %.5f" % [3.998877, 3.998877, 3.998877]
Run Code Online (Sandbox Code Playgroud)
并获得以下输出:
3.999 3.9989 3.99888
Run Code Online (Sandbox Code Playgroud)
sprintf简单地围绕数字.如何限制舍入?
我有一个项目结构,如:
src/CMakeLists.txt
src/test/component1/CMakeLists.txt
src/test/component2/CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)
对于测试,我正在使用Qt - 但是,我想确保如果没有Qt(或其他一些特定于测试的包),我只是跳过包.
我试过了
find_package(Qt4 QUIET COMPONENTS QtCore QtTestLib)
if (NOT QT4_FOUND)
message(SEND_ERROR "Qt4 not found - skipping building tests")
endif (NOT QT4_FOUND)
Run Code Online (Sandbox Code Playgroud)
但这并不像我想的那样,因为它仍然会阻止Makefile的生成.我能想到的唯一方法是将CMakeLists文件的整个主体放入条件的主体中.
有没有办法说"跳过处理这个CMakeLists的剩余部分"?
我在IB中设置了一个UIButton(自定义,带图像),这是我代码中的IBOutlet.
在viewController中的viewDidLoad方法中,我试图更改UIButton的现有图像
UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"];
testbutton.imageView.image = newbuttonimage;
Run Code Online (Sandbox Code Playgroud)
好的,这在启动应用程序时有效,但每当您与按钮交互(按下它)时,它都会更改为原始图像(在IB中设置).在整个项目中没有其他代码可以更改图像,所以发生了什么?
顺便说一下,当我将上面的代码放在项目的任何其他部分时,它不会改变图像.
我最近有一个关于字符串和字符串实习的问题 - 非常简单的问题我得到了快速回答.但是,看到我在pg上得到了同样问题的详细答案.所述JLS 3的29 次版.这真是有趣的是,很多我们所提出的问题在JLS的回答,但它的这么无聊的600页读取(4 个版是更大).你们有多少人最近为了一个悠闲的阅读而拿起了JLS?
我通过注册回调函数,以"选择"的方式使用GNU Readline:
rl_callback_handler_install("", on_readline_input);
Run Code Online (Sandbox Code Playgroud)
然后挂钩rl_callback_read_char作为我的select()循环的回调STDIN_FILENO.这都是非常标准的东西,并且工作正常.
现在,我的程序异步地将消息打印到屏幕上,有时与用户的输入交错."干净"的会话看起来像这样:
user input
SERVER OUTPUT
SERVER OUTPUT
user input
SERVER OUTPUT
Run Code Online (Sandbox Code Playgroud)
但是,如果用户在服务器响应到达时位于线路中间,该怎么办?然后它变得丑陋:
user input
SERVER OUTPUT
user inSERVER OUTPUT
put
SERVER OUTPUT
Run Code Online (Sandbox Code Playgroud)
如果用户输入任何内容(通过检查很容易判断rl_line_buffer),然后rl_forced_update_display()在打印服务器输出后执 现在它看起来像这样:
user input
SERVER OUTPUT
user in
SERVER OUTPUT
user input
SERVER OUTPUT
Run Code Online (Sandbox Code Playgroud)
这更好,但仍然不完美.当用户键入整行但尚未按Enter键时出现问题 - 那么它看起来像这样:
user input
SERVER OUTPUT
user input
SERVER OUTPUT
user input
SERVER OUTPUT
Run Code Online (Sandbox Code Playgroud)
这很糟糕,因为用户看起来他们输入了三个命令(三个输入的三个响应与两个输入的三个响应一样可能,这实际上是发生的).
讨厌的黑客(有效)是这样做的:
user input
SERVER OUTPUT
user input - INCOMPLETE
SERVER OUTPUT
user input …Run Code Online (Sandbox Code Playgroud) 对于那些在多个项目中使用Ant的人,在哪里放置build.xml文件?您是在每个项目中放置一个,还是将它们放在包含所有Ant相关文件的单独项目中?
通常的建议是在每个项目中放置一个build.xml.但这有一些缺点:
这使得在多个项目中重用共同目标变得困难.
有时您希望使用Ant从源代码管理中导出项目并进行部署.如果构建文件在项目本身中,显然你不能这样做.
但如果你把它们放在一个共同的位置:
人们需要知道他们使用它们的位置; 他们不能只使用"ant -find"来查找当前项目的文件.
您不能为项目的不同分支提供不同的构建说明.
你们做什么的?
编辑:感谢您的好建议到目前为止.至于Maven,这些都不是Java项目,我觉得Maven只适用于Java.