我想知道成员类型如何在Scala中工作,以及如何关联类型.
一种方法是使关联类型成为类型参数.这种方法的优点是我可以规定类型的方差,我可以确定子类型不会改变类型.缺点是,我无法从函数中的类型推断出类型参数.
第二种方法是使关联类型成为第二种类型的成员,其问题是我不能在子类型的关联类型上规定边界,因此,我不能在函数参数中使用类型(当x: X,X#T可能与xT没有任何关系)
一个具体的例子是:
我有一个DAT特征(可能没有类型参数)
trait DFA[S] { /* S is the type of the symbols in the alphabet */
trait State { def next(x : S); }
/* final type Sigma = S */
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个函数来在输入序列上运行这个DFA,我想要
<% Seq[alphabet-type-of-the-dfa]输入序列类型我试过这个:
def runDFA[S, D <: DFA[S], SQ <% Seq[S]](d : D)(seq : SQ) = ....
Run Code Online (Sandbox Code Playgroud)
这是有效的,除了这里没有推断出类型S,所以我必须在每个调用站点上编写整个类型参数列表.
def runDFA[D <: DFA[S] forSome { type S }, SQ <% Seq[D#Sigma]]( ... same as above
Run Code Online (Sandbox Code Playgroud)
这不起作用(无效循环引用类型D ???(它是什么?)) …
您对所涉及的软件进行了哪些成功的转换/重写?过程中涉及的语言和框架在哪里?有问题的软件有多大?最后,您从参与流程中学到的最重要的一两件事是什么.
这与这个问题有关
我在为iPhone模拟器(或设备)编译的Xcode项目中看到的以下行为让我感到困惑:
NSString *test = [[NSString alloc] initWithCString:"foo"];
NSLog(@"test retain count = %d", [test retainCount]); // prints 1
[test release];
NSLog(@"test retain count = %d", [test retainCount]); // also prints 1 instead of 0
Run Code Online (Sandbox Code Playgroud)
但是,任何进一步尝试访问'test'都会导致Xcode环境崩溃,无论是另一个[test retainCount]NSLog语句还是其他方式(即使只检查测试是否等于nil).
思考?在一个简单的基于视图的测试项目中编译...代码存在于项目的applicationDidFinishLaunching方法中.
澄清 - 我知道不要在实践中做上述事情.这只是一个测试,看看为什么在某些调试情况下,保留计数为1实际上并不反映对象的实际状态.谢谢你的回复.这只是一个测试存根,看看为什么我在一些情况下看到某些行为.我真正想要做的是追踪每当我销毁/重新创建自定义视图时始终创建的非常小的内存泄漏(0.06MB).
提供者模式是IOC的实现吗?如果没有,为什么不呢?
(阅读关于ioc的马丁福勒斯文章)
嗨,我想知道在到达网站时强制用户登录的最佳方法是什么.net.我已经设置了成员身份功能,我想知道什么是确保无论用户到达什么地址的最佳方法,他们必须首先获得身份验证,然后才能进入他们请求的页面.任何资源都会很棒,谢谢.
我想在显示ContextMenu之前右键单击选择一个WPF TreeView节点.
对于WinForms,我可以使用这样的代码在上下文菜单下点击查找节点,WPF的替代方案是什么?
什么相当于eval('('+responseText+')')在jQuery中进行此调用?我也明白这eval不安全,所以我在jQuery中寻找更安全,更惯用的东西.
在javascript中,你想什么时候使用它:
(function(){
//Bunch of code...
})();
Run Code Online (Sandbox Code Playgroud)
对此:
//Bunch of code...
Run Code Online (Sandbox Code Playgroud) 我试图从Java应用程序访问SharePoint网站.SharePoint服务器更喜欢Kerberos身份验证.能否请您提供仅实施Kerberos身份验证的示例?
我在我的一个网站上使用了一个名为"Facelift 1.2"的javascript,虽然该脚本适用于Safari 3,4b和Opera,OmniWeb和Firefox,但它并不适用于任何IE版本.但即使在工作浏览器中我得到以下错误我无法破译.
也许在适当的时候 - 有更多的经验Javascript - 我将能够,但现在我想我会问你们中的一些人,在这里.
以下是我在IETester中测试Interet Explorer 6,7和8的页面时出现的错误弹出: IE错误弹出http://img21.imageshack.us/img21/3651/err2.png
以下内容来自Firefox 3.0.6中的Firebug控制台: Firebug控制台日志http://img100.imageshack.us/img100/3636/err3.png
该网站是:http://www.457cc.co.nz/index.php如果它可以帮助您看到行动中提到的问题.
我还查找了第620行对应的内容: "第76行"是:
this.isCraptastic = (typeof document.body.style.maxHeight=='undefined');
Run Code Online (Sandbox Code Playgroud)
这是代码块的一部分(取自flir.js):
// either (options Object, fstyle FLIRStyle Object) or (fstyle FLIRStyle Object)
,init: function(options, fstyle) { // or options for flir style
if(this.isFStyle(options)) { // (fstyle FLIRStyle Object)
this.defaultStyle = options;
}else { // [options Object, fstyle FLIRStyle Object]
if(typeof options != 'undefined')
this.loadOptions(options);
if(typeof fstyle == 'undefined') {
this.defaultStyle …Run Code Online (Sandbox Code Playgroud) javascript ×2
asp.net ×1
closures ×1
contextmenu ×1
debugging ×1
flir ×1
iife ×1
iphone ×1
java ×1
jquery ×1
kerberos ×1
membership ×1
objective-c ×1
refactoring ×1
scala ×1
sharepoint ×1
treeview ×1
types ×1
web-config ×1
wpf ×1