我一直在学习各种函数式语言,包括Haskell,Scala和Clojure.Haskell有一个非常严格且定义良好的静态类型系统.Scala也是静态类型的.另一方面,Clojure是动态类型的.
所以我的问题是
type-systems programming-languages functional-programming clojure
好吧,我意识到这个问题可能看起来很奇怪,但我只是注意到了一些令我困惑的事情......看看这段代码:
static void TestGC()
{
object o1 = new Object();
object o2 = new Object();
WeakReference w1 = new WeakReference(o1);
WeakReference w2 = new WeakReference(o2);
GC.Collect();
Console.WriteLine("o1 is alive: {0}", w1.IsAlive);
Console.WriteLine("o2 is alive: {0}", w2.IsAlive);
}
Run Code Online (Sandbox Code Playgroud)
由于o1和o2仍然在范围时,垃圾回收时,我本来期望的输出如下:
o1还活着:真正的
o2还活着:真的
但相反,这就是我得到的:
o1还活着:假
o2还活着:假
注意:仅当代码在发布模式下编译并在调试器外部运行时才会发生这种情况
我的猜测是GC检测到它o1并且o2在它们超出范围之前不会再次使用,并尽早收集它们.为了验证这个假设,我在TestGC方法的最后添加了以下行:
string s = o2.ToString();
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
o1还活着:假
o2还活着:是的
所以在这种情况下,o2不收集.
有人能说清楚发生了什么吗?这与JIT优化有关吗?到底发生了什么?
我当前遇到的问题是Build和Archive将构建我当前的目标,但在完成构建之后,会出现一个弹出窗口,其中包含以下消息:
"操作无法完成.没有这样的文件或目录"
我重新安装了Xcode(3.2.3与SDK 4.0),重新启动了我的机器,清理了缓存,清理了项目,手动删除了项目构建目录.没有任何效果.
我也检查了~/Library/MobileDevice/Archived Applications它是空的.
有任何想法吗?
ps这让我抓狂!
有什么方法可以防止<a>在其父级上触发委托单击处理程序的单击,同时允许<a>发生 的默认行为(导航到href)。
这是一个例子,说明了我的要求。
<div class="top">
<div class="middle">
<a href="google.com" class="link">link</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
还有我的 JavaScript:
$(".top").delegate(".middle", "click", function(event) {
alert("failure");
});
$(".top").delegate(".link", "click", function(event) {
// ???
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望在单击链接时导航到 google.com,但alert("failure")在退出时不能看到 。
该解决方案有一些限制:
$(".top"),因为我的页面中可能有数千个这样的事件处理程序。window.location = $(this).attr("href")或类似使用普通的事件绑定,我可以e.stopPropagation()在 的单击处理程序中执行一个操作<a>,但由于委托的性质,这将不起作用。jQuery 提供了另一种名为 的方法,.stopImmediatePropagation()该方法描述了我想要的内容(防止当前元素上的其他处理程序,在本例中为保存委托处理程序的元素),但在这种情况下实际上并没有完成它。这可能是一个错误.delegate(),我不确定。
false从的单击处理程序返回<a>将阻止其他处理程序运行,但也会执行.preventDefault(),因此浏览器将不会导航。基本上,我想知道return false;那e.stopImmediatePropagation(); e.preventDefault();不是什么。根据文档,它们应该是等效的。
对于上述代码的现场演示,这里有一个 JSFiddle:https ://jsfiddle.net/CHn8x/
我正在寻找关于使用Java Swing进行结构化的应用程序的最佳实践的一些指导.我通常是一个webapp的人,并尝试遵循MVC.MVC是Swing应用的典型代表吗?如果是这样,怎么样?
我正在寻找fadeIn()一个开始于on opacity: 0.1或(filter: alpha(opacity = 10)在ie)的div .
我知道我可以做.animate({css....一个,if(supports opacity)但我正在寻找一个快速简便的跨浏览器解决方案,我想jquery已经有一个?
假设我有以下本地存储库,其中包含如下提交树:
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
Run Code Online (Sandbox Code Playgroud)
master是我的这是最新的稳定版本代码,develop是我的这个'下一个'版本代码,feature是一个正在准备的新功能develop.
我希望能够使用钩子在我的远程仓库上做什么,feature除非提交f是developHEAD 的直接后代,否则推送被拒绝.即提交树看起来像这样,因为功能已经git rebase打开d.
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
Run Code Online (Sandbox Code Playgroud)
那么有可能:
feature?f是后代的?从那里我将检查父分支的HEAD是什么,并查看f前任是否与父分支HEAD匹配,以确定该特征是否需要重新定位.
在C++ 0x中,我想知道lambda函数的类型是什么.特别:
#include<iostream>
type1 foo(int x){
return [x](int y)->int{return x * y;};
}
int main(){
std::cout<<foo(3)(4);//would output 12
type2 bar = foo(5);
std::cout<<bar(6);//would output 30
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我需要更换type1/type2才能使上述功能正常工作?希望你能看到我想要完成的事情,所以即使直接替换type1和type2是不可能的,也许你可以引导我朝着正确的方向前进.
换一种说法:
谢谢!
编辑:我正在使用visual studio 2010进行编译
我知道我以前做过这个,但今天不行,也找不到解释怎么做的地方.这可能是我的睡眠不足,但我怀疑是小鬼.
我有一个XML文档和一个充满XSD的目录来定义它.如何设置Visual IDE以通知我验证失败,然后在给定的上下文中提供有效标签和属性的智能感知列表?
我尝试过的:
Visual Studio仍然没有放弃任何有用的调试或编辑信息.我试过2010年和2008年(我在2008年之前就已经做过了)
更新:我有另一个开发人员尝试这个,它也失败了.他知道他已经使用其他XML文档完成了它并使其工作.然后我下载了Oxygen XML编辑器,它在相同的XML和XSD文件上运行良好,所以文件看起来很好(或者Oxygen更宽容/更灵活......)
我有一个项目,有一个后期构建事件,可以将DLL复制到某个目录:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)..\UdpLocationService\bin\Plugins\" /d /y
xcopy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)..\UdpLocationService\bin\Plugins\" /d /y
Run Code Online (Sandbox Code Playgroud)
但是,我将CruiseControl.NET设置为构建服务器,并且由于此xcopy构建后事件,MSBuild无法构建该项目:
MSB3073: The command "xcopy "C:\Build\Services\Windows\VehicleServer\Plugins\Payload\bin\Debug\Payload.dll" "*Undefined*..\UdpLocationService\bin\Plugins\" /d /y xcopy "C:\Build\Services\Windows\VehicleServer\Plugins\Payload\bin\Debug\Payload.pdb" "*Undefined*..\UdpLocationService\bin\Plugins\" /d /y" exited with code 4. in Microsoft.Common.targets(3397, 13)
Run Code Online (Sandbox Code Playgroud)
有任何建议来解决这个问题吗?
jquery ×2
.net ×1
branch ×1
c# ×1
c++11 ×1
clojure ×1
closures ×1
cocoa-touch ×1
delegation ×1
events ×1
git ×1
intellisense ×1
iphone ×1
java ×1
javascript ×1
jit ×1
lambda ×1
msbuild ×1
return-type ×1
swing ×1
type-systems ×1
xcode ×1
xcode3.2 ×1
xcopy ×1
xml ×1
xsd ×1