Articles of 换行符

错误的JavaScript V8的正则expression式引擎时匹配的开始行?

我有一个非常漂亮的工具, 下划线 ,这是在打印出帮助/使用信息时得到最奇怪的行为。 在usage()函数中,我这样做来缩进文本块(例如,选项): str.replace(/^/, " "); 除了非常明显之外,这个正则expression式直接来自TJ Hollowaychuk的commander.js代码。 正则expression式是正确的。 然而,我在我的使用文本中间插入了一些bizzare空格。 喜欢这个: 命令: … 值检索对象属性的所有值。 扩展&ltobject>覆盖input数据中的属性。 默认值&ltobject>填写input数据中缺less的属性。 any&ltexp>如果input中的任何值使expression式为真,则返回“true”。 expression式参数:(值,键,列表) all&ltexp>如果input中的所有值都使expression式为true,则返回“true”。 expression式参数:(值,键,列表) isObject如果input数据是具有命名属性的对象,则返回“true” isArray如果input数据是数组,则返回“true” isString如果input数据是string,则返回“true” … 99%的机会,这是V8中的一个bug。 任何人都知道为什么会发生这种情况,或者最简单的解决办法是什么? 是的,事实certificate这是一个V8的错误,1748是确切的。 以下是我在该工具中使用的解决方法 : str.replace(/(^|\n), "$1 ");

Node.js的ReadLine不等待一个完整的线路套接字连接?

我想用一个套接字来使用Node.js的ReadLine ,就像这样: var net = require('net'); var rl = require('readline'); this.streamServer = net.createServer(function (socket) { var i = rl.createInterface(socket, socket); i.on('line', function (line) { socket.write(line); }); }); this.streamServer.maxConnections = 1; this.streamServer.listen(7001); 当我远程login到端口7001并开始input文本时,在我按下input之前立即回显给我。 为什么ReadLine不等待整行? 我也试过.question()并得到相同的结果…callback是在接收任何数据时被触发,而不等待行尾字符。 编辑:这变得更奇怪。 当我使用Windows telnet客户端进行testing时,我得到了上面所述的行为。 但是,如果我使用PuTTY作为客户端进行testing,则即使在Windows上,ReadLine也可以正常工作。 我做了一些数据包捕获。 也许有人可以对此有所了解? 不缩进的行是来自客户端的数据。 缩进行是服务器回复。 使用Windows Telnet 00000000 61 a 00000000 61 a 00000001 62 b 00000001 62 […]