我最近启动了Erlang,我注意到编译时我经常收到"警告:变量X未使用".例如,使用以下函数,该函数查找列表中的最大元素:
max([Head|Tail]) ->
max(Head,Tail).
max(Element,[Head | Tail]) when Element < Head ->
max(Head,Tail);
max(Element,[Head | Tail]) ->
max(Element, Tail);
max(Element,[]) ->
Element.
Run Code Online (Sandbox Code Playgroud)
编译器警告我,在函数的第三种情况下,Head未使用.如何在没有Head的情况下编写函数?
如果你不得不在一个软件项目中没有一个,你会选择哪一个?我有很多项目,客户或PM认为他们可以在没有其中一个的情况下逃脱.我们总是付出代价.
在Stack Overflow社区的帮助下,我写了一个非常基本但有趣的物理模拟器.

单击并拖动鼠标以启动球.它会反弹并最终停在"地板"上.
我想要添加的下一个重要特征是球与球的碰撞.球的运动被分解为ax和y速度矢量.我有重力(每一步的y矢量小减少),我有摩擦(每次与墙碰撞的两个矢量的小减少).球真诚地以令人惊讶的逼真方式移动.
我想我的问题有两个部分:

处理"墙壁"的碰撞检测和由此产生的矢量变化很容易,但我发现球 - 球碰撞的并发症更多.对于墙壁,我只需要采取适当的x或y向量的负数,然后关闭它将朝正确的方向前进.有球我认为不是这样.
一些快速澄清:为了简单起见,我现在可以完全弹性碰撞,现在我的所有球都具有相同的质量,但我将来可能会改变它.
编辑:我发现有用的资源
带矢量的2d球物理:无三角碰撞的二维碰撞.pdf
2d球碰撞检测示例:添加碰撞检测
我的球碰撞检测和响应工作很棒!
相关代码:
碰撞检测:
for (int i = 0; i < ballCount; i++)
{
for (int j = i + 1; j < ballCount; j++)
{
if (balls[i].colliding(balls[j]))
{
balls[i].resolveCollision(balls[j]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将检查每个球之间的碰撞但跳过多余的检查(如果你必须检查球1是否与球2碰撞,那么你不需要检查球2是否与球1碰撞.此外,它会跳过检查是否与自身发生碰撞).
然后,在我的球类中,我有我的colliding()和resolveCollision()方法:
public boolean colliding(Ball ball)
{
float xd = position.getX() - ball.position.getX();
float yd = position.getY() - ball.position.getY();
float sumRadius = getRadius() + ball.getRadius();
float sqrRadius …Run Code Online (Sandbox Code Playgroud) 支付99美元后,注册iPhone开发者计划需要多长时间?
支付后还有什么可做的吗?(我的意思是文书工作,传真或发送实物)
Apple将如何支付您的收入?(以什么形式和间隔,如果你不在美国,他们会怎么做?)
我正在添加这样的记录:
Dim pathString As String = HttpContext.Current.Request.MapPath("Banking.mdb")
Dim odbconBanking As New OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" + pathString)
Dim sql As String
sql = "INSERT INTO tblUsers ( FirstName, LastName, Address, City, Province, Zip, Phone, UserName, [Password])" & _
" VALUES ('" & firstName & "', '" & lastName & "', '" & address & _
"', '" & city & "', '" & province & "', '" & zip & "', '" & phone & "', '" …Run Code Online (Sandbox Code Playgroud) 自String实现以来IEnumerable<char>,我期待在Intellisense中看到Enumerable扩展方法,例如,在输入句点时
String s = "asdf";
s.
Run Code Online (Sandbox Code Playgroud)
我期待看到.Select<char>(...),.ToList<char>()等我当时惊讶地看到,扩展方法做在串类事实的工作,他们只是不显示在IntelliSense起来.有人知道为什么吗?这可能与这个问题有关.
几乎是问题所在.这两类根有什么区别?这些根签署的证书之间的差异?第1类签署的证书有什么用途,而第3类没有,反之亦然?
寻求Labview数据收集计划的一些帮助.如果我可以在每个通道以8kHz(提供16个数据点)收集2ms的数据(我使用National Instruments数据采集板在4个模拟通道上采集数据).DAQ-MX收集任务提供4个波形的一维阵列.
如果我不显示数据我可以做的所有计算时间大约是2ms,如果处理循环落后于收集循环,则可以.在Labview的前面板中更新图表会引入不可接受的延迟.我们不需要非常快速地更新显示器,可能在5-10Hz就足够了.但我不知道如何设置它.
我目前的Labview VI有三个并行循环
使用队列将数据从集合循环传递到其他循环.Labview示例给了我一些想法,但我被卡住了.
任何建议,参考,想法将不胜感激.
谢谢
阿齐姆
跟进问题
eaolson建议我重新对数据进行采样以用于显示目的.来自DAQ-MX读数的数据是一维波形阵列.所以我需要以某种方式构建或连接每个通道的波形数据.然后在更新前面板图表之前重新采样数据.我想最好的方法是对数据进行排队,并在显示循环中使堆栈构建出列,并根据屏幕分辨率重新采样数据,然后更新图表.会不会有任何其他方法.我将查看(NI Labview论坛)[ http://forums.ni.com/ni/board?board.id=170]以获取eaolson提供的更多信息.
更新
我需要从python脚本中调用Excel工作簿中的VBA宏.其他人为Excel工作簿提供了宏.宏从外部数据库中获取更新的值,并执行一些相当复杂的数据按摩.我需要这个按摩的结果,我真的不想在我的Python脚本中复制它,如果我可以避免它.因此,如果我可以从我的脚本中调用宏并获取按摩结果,那将会很棒.
我所知道的关于COM的一切我都是从"Win32上的Python编程"中学到的.好书,但不足以完成我的任务.我搜索过,但没有找到任何关于如何做到这一点的好例子.有没有人有任何好的例子,或者一些如何解决/调用VBA宏的骨架代码?Excel COM接口上的一般参考(书籍,Web链接等)在这里也会有所帮助.谢谢.
DOS变成Windows的方式是一样的吗?
我们似乎最终支持并开发了微软的三个平台,我不确定边界应该在哪里.
为什么不能将CLR的好处(例如类型安全,内存保护等)内置到Windows本身?
或者进入浏览器?为什么要完全是其他虚拟机?(我们现在要处理的虚拟机间接层是如何处理的?我们刚刚添加了Silverlight - 在Flash之前 - 在浏览器内运行可能是一个VM安装......)
我可以看到服务器的原始Windows,但为什么不能有工作站的CLR直接与硬件(或至少不是整个Windows传统的球和链)交谈?
(ooppp - 我在这里有两个问题.让我们这样做 - 为什么不能将.net内置到Windows中?我理解向后兼容性 - 但.NET中的内容的安全性至少可以在Windows本身中使用,不能不是吗?它只是众多API中的另一组?)
Factoid - 我记得IBM PC上针对MS-DOS销售的竞争对手架构之一是UCSD-pascal运行时 - 一个VM.