它谨慎地将长函数分解为主函数和辅助函数.
我知道模块外部只会调用主要功能,但它的长度可能会被证明是令人生畏的.
教科书限制了行数,但我觉得这太严格了.
PS我用Python编程,需要处理传入的消息.该函数返回一个包含消息的元组,但是在Python的内部数据类型中.因此,您可以看到每种消息类型的独立代码.
重复的问题
我正在寻找一个基于Hibernate构建的ActiveRecord模式的Java实现.
在.Net中有一个开源项目Castle Windsor ActiveRecord,它在NHibernate之上实现了ActiveRecord模式.
我正在寻找类似的东西,除了坐在NHiberate persistence frameowork for Java之上.
我将一个表导出到服务器但我找不到该表.也许我没有把正确的目的地数据库.如果我的服务器有多个数据库,而不打开每个数据库,我怎样才能找到这个表?
我使用MS Sql Server Management Studio 2008.
我正在编写一些JUnit测试,以验证是否抛出了类型MyCustomException
的异常.但是,此异常多次包含在其他异常中,例如在InvocationTargetException中,而InvocationTargetException又包含在RuntimeException中.
什么是确定MyCustomException是否以某种方式导致我实际捕获的异常的最佳方法?我想做这样的事情(见下划线):
Run Code Online (Sandbox Code Playgroud)try { doSomethingPotentiallyExceptional(); fail("Expected an exception."); } catch (RuntimeException e) { if (!e.
wasCausedBy(MyCustomException.class) fail("Expected a different kind of exception."); }
我想避免getCause()
深入调用一些"层",以及类似的丑陋工作.有更好的方法吗?
(显然,Spring有NestedRuntimeException.contains(Class),它可以做我想要的 - 但我没有使用Spring.)
CLOSED: 好的,我猜有一个实用方法真的没有绕过:-)感谢所有回复的人!
我在一个项目中,我必须能够播放几乎音频/视频文件(格式).
.mkv(matroska,可选)
.mp3(你可能知道这个)
我已经安装了所有上述编解码器,并且在我的系统上运行良好(使用WMP 10,Media Player Classic Home Cinema,VLC和Zoom Player进行了尝试).
我已经尝试过基本的TMediaPlayer,但不能在.avi上用于视频,然后我抓住DSPack但它不能播放.avi(xvid/divx)也不能播放.mkv,我抓住了VLC但它只给了我更令人头痛的是因为它只是ActiveX包装器(没有纯vcl组件).
有人可以建议另一个组件?免费或开源将是首选.
编辑:我已经解决了DSPack的问题,看起来我必须使用FDDShow来使用DSPack进行视频播放.
托管我们的svn服务器的机器失败了.我们能够恢复C:\Repositories\
目录.我们如何将其迁移到新主机?
是否可以在Silverlight中访问网络摄像头
从我读过的内容来看,它在Silverlight 1.0中是不可能的,但2.0 ... 3.0 ... 4.0怎么样?
我必须按站点的用户活动的天,周,月和年收集统计数据.我是数据库设计阶段,我想要正确地完成这个阶段,因为它将使我的编码生活更轻松.
我要做的就是每次活动发生时,只需在数据库中将字段中的值递增1.那么我可以按每天,每周,每个月和每年提取日期.我的DB应该如何构建?对大多数人来说,这是一个简单的问题.如果这种结构可以扩展以便它可以被其他类别分解,那也将是很好的.
我遇到麻烦的是每个月由更多天组成,这些天改变每个日历年.
感谢所有人的帮助或指导.
其他信息:Linux Machine,利用PHP和MySQL
我正在阅读这个教程是为了好玩,并且最后他说:"练习:给出联合和差异的线性递归实现." (列表)
联盟,没有汗水.
差异,汗水.
尝试看起来像这样...
(defun list-diff (L1 L2)
(cond
((null L1) L2)
((null (member (first L1) L2)) (cons (first L1) (list-diff (rest L1) L2)))
(t (list-diff (rest L1) L2))
)
)
Run Code Online (Sandbox Code Playgroud)
现在,它返回L1中不在L2中的所有元素,但它只返回所有L2(显然).类似地,如果我将第3行中的L2更改为"nil",那么它只返回不在L2中的所有L1,但不返回L2.
我在解决方法上的尝试看起来并不是递归的,当它们出现时,我最终会得到堆栈溢出(就像我尝试在某处调用(list-diff L2 L1)).
他的任何其他练习,例如list-intersection,只需要遍历L1的元素.在这里,我想从L2中运行关键元素,或者运行(list-diff L2 L1),然后将两者的结果联合起来,但这不再是线性递归.
思考?
(不是作业,真的.我以为我会试着看一些LISP的乐趣.)
编辑:基于响应正确执行此操作的函数是:
(defun list-diff (L1 L2)
(cond
((null L1) nil)
((null (member (first L1) L2)) (cons (first L1) (list-diff (rest L1) L2)))
(t (list-diff (rest L1) L2))
)
)
Run Code Online (Sandbox Code Playgroud) java ×2
activerecord ×1
algorithm ×1
codec ×1
common-lisp ×1
components ×1
database ×1
delphi ×1
exception ×1
hibernate ×1
lisp ×1
makefile ×1
multimedia ×1
mysql ×1
orm ×1
recursion ×1
refactoring ×1
silverlight ×1
spring ×1
sql-server ×1
ssms ×1
svn ×1
t-sql ×1
visualsvn ×1
vlc ×1
webcam ×1