问题标签 [redo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonic 相当于 unshift 或 redo?
我正在学习 Python,我有一种情况,我想使用迭代器中的项目。棘手的部分是,在某些条件下,我想“取消迭代”。也就是说,在循环之前将一个项目放回迭代器的前面。
例如,假设我正在从树上摘苹果。我的水果篮只能装 10 公斤,然后才需要清空。但是我必须先挑选每个苹果,然后才能称重并确定这个苹果是否会超过篮子的容量。
在像 Perl 这样的语言中,我可以unshift()
将苹果放回树上,然后让循环表达式重新挑选苹果:
否则我也可以使用redo
,它在块顶部恢复处理,而不评估循环表达式。因此,在篮子被清空后,同一个苹果可以重新加工。
对于这类问题,最Pythonic的解决方案是什么?
ruby - 我可以跳回到在 Ruby 中使用“重做”的方法的开头吗?
在Poignant Guide中给出了这个redo
关键字的例子:
它应该一直调用new
,直到所有三个随机数都是唯一的。但是在我输入这段代码并运行了几次之后,我得到了这个错误:LocalJumpError: unexpected redo
. 我在redo
别处查找了关键字,看起来它只适用于循环和迭代器。那么为什么在他的例子中尝试这样使用它呢?应该如何重写此方法才能正常工作?
perl - 用于类似 Makefile 的续行的最干净的 Perl 解析器
我正在编写的 perl 脚本需要解析具有像 Makefile 这样的连续行的文件。即以空格开头的行是前一行的一部分。
我写了下面的代码,但不觉得它很干净或 perl-ish(见鬼,它甚至不使用“重做”!)
有许多边缘情况:奇数位置的 EOF、单行文件、以空行(或非空行或续行)开头或结尾的文件、空文件。我所有的测试用例(和代码)都在这里:http ://whatexit.org/tal/flatten.tar
你能写出通过我所有测试的更干净,perl-ish 的代码吗?
vim - 我如何在 Vim 中进行重做(即“撤消撤消”)?
在 Vim 中,我做了太多撤消操作。如何撤消此操作(即重做)?
iphone - 如何在 CoreData NSManagedObjectContext 中恢复 NSUndoManager 的内容?
我想在CoreData(NSManagedObject)对象上的iPhone应用程序中使用NSUndoManager,这样如果应用程序过早退出(例如,由于来电),我可以保存(并稍后恢复)NSUndoManager的状态。即,与自动丢弃或保存在 NSUndoManager 中累积的更改相反,我想恢复它们,以便用户在重新启动应用程序时可以选择显式丢弃或保存它们。
有没有人有这方面的经验?当应用程序中断时,任何人都可以推荐这种(或替代)方法来管理 NSManagedObjectContext 中的未决更改吗?
core-data - 带有核心数据的 NSUndoManager - 重做不起作用
我有一个基于核心数据文档的应用程序,它通过与 NSManagedObjectContext 关联的内置 NSUndoManager 支持撤消/重做。我设置了一些动作,它们在 Core Data 中执行大量任务,通过beginUndoGrouping
/将所有这些任务包装到一个撤消组endUndoGrouping
中,并由 NSUndoManager 处理。
撤消工作正常。我可以执行几个连续的操作,然后依次撤消每一个操作,并且我的应用程序的状态得到正确维护。但是,永远不会启用“重做”菜单项。这意味着 NSUndoManager 告诉菜单没有要重做的项目。
我想知道为什么 NSUndoManager 似乎在撤消项目后会忘记它们,并且不允许重做?
我应该提到的一件事是,我在打开/创建文档后禁用撤消注册。当我执行一个动作时,我调用enableUndoRegistration
, beginUndoGrouping
,执行该动作,然后调用processPendingChanges
, setActionName:
, endUndoGrouping
,最后调用disableUndoRegistration
。这确保只有特定的操作是可撤消的,并且我在这些之外所做的任何其他数据更改都不会被 NSUndoManager 注意到。这可能是问题的一部分,但如果是这样,我想知道为什么它会影响重做?
提前致谢。
objective-c - NSUndoManager 不会撤消 NSMutableDictionary 的编辑
我遇到了撤消操作的问题。以下代码不会撤消removeObjectForKey:
操作,但重做操作setObject:ForKey:
有效。
控制台上的输出如下所示:
我不明白为什么 Object id 不同,尽管 Key id 保持不变。是否对对象进行了一些特殊的撤消/重做处理NSMutableDictionary
?
谢谢xonic
logic - Simple program logic to Call method continuously
I am in a situation, in which my program needs to do processing and then wait for some interval, let's say 5 seconds and the do the same processing again.
I don't know how to implement the logic.
I have developed a logic, the code is below:
What this code does: I only have to call this method once, it will do the processing then wait for 5 seconds and then again process.
So far above code is working fine, but i have heard using "goto" statements is not considered good in programming.
I want to know, will there be any side effect of this code or is there any other efficient way of doing the same thing.
python - Tkinter Text 小部件中的撤消和重做功能?
我需要在 Tkinter小部件中同时创建Control+Z和Shift+ Control+函数,以便可以撤消和重做事情。ZText
有谁知道如何做到这一点?
java - 如何在文本编辑器中设计撤消和重做?
我项目的一部分是编写一个文本编辑器,用于输入一些规则、编译我的应用程序并运行它。编写编译器已结束并发布测试版。在最终版本中,我们必须在文本编辑器中添加撤消和重做。我使用一个文件并定期保存它以供文本编辑器使用。如何为我的文本编辑器设计撤消和重做?文件持久化的结构有什么变化?