以下内容来自Chrome控制台中的交互式会话:
myarray
//-> [67, 65, 84]
String.fromCharCode(67)
//-> "C"
String.fromCharCode(67).length
//-> 1
String.fromCharCode(myarray[0])
//-> "C"
String.fromCharCode(myarray[0]).length
//-> 1
myarray.map(String.fromCharCode)
//-> ["C", "A", "T"]
myarray.map(String.fromCharCode)[0]
//-> "C"
myarray.map(String.fromCharCode)[0].length
//-> 3
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么上次操作返回3?
这让我疯了,我整天都在这.
我正在尝试编写一个用于与串行设备通信的过程过滤器.这工作正常,但是当我将文本插入缓冲区时,我希望缓冲区滚动,以便我可以看到文本,就像在缓冲区中键入文本时一样.我将文本插入到几个缓冲区中,显示串行线路上的不同信息.实际上,每次我发出一个串行命令时,我都必须向下拖动每个滚动条,这样我才能看到文本.
更改"点"只会更改插入点 - 窗口滚动不会跟随.尝试调用滚动功能和"重新定位"似乎什么都不做.如何让窗户滚动?
我还想更改缓冲区,以便您无法输入,或通过单击窗口更改"点"的位置.有没有我应该使用的模式或什么?
非常感谢有人可以提供帮助,
大卫.
任何人都可以建议任何指针/教程或有关如何在emacs中获得交互式命令行模式的信息.我查看了comint和shell模式,但这些模式与子进程进行了对话.我只想要一个与elisp函数对话的交互式命令行,而不是类似的子进程/bin/bash.这个想法是用它来与用elisp编写的简单解释器进行交互(只是为了好玩).