在Common Lisp中,是否可以在特定范围内重新定义已定义的函数?例如,给定一个调用函数B的函数A.我可以在调用A时暂时重新定义B吗?
我正在寻找一个let块的东西,但这可以重新定义函数.
在C中,如果foo是结构,那么在编写"struct foo"而不仅仅是"foo"之间是否存在差异?
例如:
struct sockaddr_in sin;
struct sockaddr *sa;
// Are these two lines equivalent?
sa = (struct sockaddr*)&sin;
sa = (sockaddr*)&sin;
Run Code Online (Sandbox Code Playgroud)
谢谢/ Erik
我正在寻找一个在Windows上运行的免费UML工具,让我可以非常快速地创建简单的图表,尽可能小的鼠标摆弄.
我不需要代码生成或花哨的东西,只需带箭头的UML样式框.
我想要的是例如让我添加一个带有键盘快捷键的新类,让我输入名称而不必双击添加的类或类似的东西.只是一个简单的应用程序,让您有效地建模而不会有吃桌子的冲动......
我不想要的是必须将项目从工具箱拖到表面,双击项目,输入名称,再次抓住鼠标,单击确定按钮,rince并重复.
对于Eclipse,TextUML允许您使用文本符号创建图表,但我希望它用于.Net开发,我不想仅仅为一个小图表插件运行Eclipse.
我已经尝试了很多开源工具,但大多数都有非常糟糕的用户体验.
那么,是否有适合上述描述的工具?
我正在尝试编写一个自定义选项卡完成实现,它根据点的位置尝试一堆不同的完成.但是,如果没有满足完成的条件,我希望tab可以执行当前模式最初打算执行的操作.
像这样的东西:
(defun my-custom-tab-completion ()
(interactive)
(cond
(some-condition
(do-something))
(some-other-condition
(do-something-else))
(t
(do-whatever-tab-is-supposed-to-do-in-the-current-mode))) ;; How do I do this?
Run Code Online (Sandbox Code Playgroud)
目前我正在检查特定模式并为该模式做正确的事情,但我真的想要一个解决方案,只做正确的事情而不必为该特定模式明确添加条件.
有关如何做到这一点的任何想法?
谢谢!/埃里克
我正在使用Simpletest作为我目前正在处理的PHP站点的单元测试框架.我喜欢它附带一个简单的HTML记者,但我想要一个更先进的记者.
我已经阅读了记者的API文档,但是能够使用现有的记者,而不是自己做,这将是很好的.
对于Simpletest,有没有好的扩展HTML报告器或GUI?
关于PHPUnit的GUI的提示也将受到赞赏,但我的主要关注点是Simpletest,对于这个项目.我尝试过Cool PHPUnit Test Runner,但不相信.
这可能是在“讨论”方面,但我真的很想听听您对此的看法。
以前我经常编写处理读取和写入的数据访问类,这经常导致糟糕的命名,如 FooIoHandler 等。 难以命名的类可能设计不佳的经验表明这不是一个好的解决方案。
所以,我最近开始将数据访问拆分为 FooWriter 和 FooReader,这会导致更好的名称并提供一些额外的灵活性,但同时我有点喜欢将它们放在一起,如果类不是很大的话。
读写器分离是更好的设计,还是应该将它们结合起来?如果我应该将它们组合起来,我到底应该给这个类命名什么?
谢谢/埃里克
我正在回答你自己的问题时写这个问题,因为我找到了问题的解决方案,但如果有人有更好的解决方案,我很乐意听.
在我正在处理的应用程序中,我正在继承ListView控件以添加一些功能,其中一些功能与ListView SelectedIndices和SelectedItems属性进行交互.
问题是,当我尝试对子类进行单元测试时,当我向选择中添加项时,SelectedIndices和SelectedItems属性不会更新.我试过了两个
item.Selected = true
Run Code Online (Sandbox Code Playgroud)
和
listView.SelectedIndices.Add(...)
Run Code Online (Sandbox Code Playgroud)
但SelectedIndices或SelectedItems似乎并未受到影响.单元测试功能的其他部分工作正常.
如何对ListView子类的选择依赖部分进行单元测试?
我正在尝试构建一个看起来像这样的对象:
public class MyObject
{
private IList<AnotherObject> items;
public List<AnotherObject> Items
{
return items.AsEnumerable().ToList<AnotherObject>();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用NHibernate作为我的DAL并将其直接映射到items字段,所有这些都可以正常工作.
我也使用Windows Workflow,复制器活动不适用于通用IList.(http://social.msdn.microsoft.com/Forums/en-US/windowsworkflowfoundation/thread/2ca74b60-fd33-4031-be4b-17a79e9afe63)这基本上迫使我使用List <>包装而不是IList < >.这当然打破了直接的NHibernate映射,因为NHibernate的IList实现不能直接转换为List.
**编辑:Windows Workflow要求实际上意味着我将失去对列表的类型安全访问,无论它需要IList.
现在的目标是序列化/反序列化此对象.这适用于二进制序列化,但当我尝试反序列化时,底层的NHibernate代理对象会出现nhibernate错误.
所以我尝试了xml序列化.序列化工作正常,并在序列化的xml文件中给出了我很好的具体类定义,它完全剥离了nhibernate代理.但是,当尝试反序列化时,我无法将项目添加到列表中作为items.AsEnumerable.ToList调用将不允许项目通过.Add方法添加到基础列表.
有没有人对此有任何想法?我是以错误的方式来做这件事的吗?
**编辑:NHibernate具体类是NHibernate.Collection.Generic.PersistentGenericBag确实直接实现IList.但是,我失去了通用列表的所有类型安全的好处.这让我回到必须为每个子对象编写包装器的领域,如果可能的话我真的想避免这种情况.
我有一个现有的command(increment-numbers-in-region)声明interactive "r"用于获取区域起点和终点作为参数.我现在想扩展此命令以获取前缀参数.有没有一种方法结合起来interactive "r"用interactive "p",或者我应该去了解它在一些其他的方式?
我想我可以编写一个interactive "p"仅使用的命令,然后从命令体中读取点和标记,但感觉这可能不是最惯用的方式.
有任何想法吗?
我目前正在为今年春季计划的项目寻找不同的ORM解决方案.实体框架是我正在寻找的产品之一,但EF 2.0会更有趣.
是否有任何迹象表明何时计划发布实体框架2.0版?使用.Net 4.0?
c# ×2
elisp ×2
emacs ×2
unit-testing ×2
.net ×1
architecture ×1
c ×1
common-lisp ×1
data-access ×1
listview ×1
modeling ×1
nhibernate ×1
oop ×1
php ×1
simpletest ×1
struct ×1
typedef ×1
uml ×1
winforms ×1