我们正在考虑将来为我们的项目利用F#,并希望能够自动从F#类型生成.xsd模式.
搜索网络会返回很多从.xsd生成类型的答案,但不是相反.
有人知道这样做的方法吗?
我正在摆弄JavaScript中的Cominators,当我偶然发现维基百科说:"Y组合子可以在SKI演算中表达为:Y = S(K(SII))时,我很自豪(希望)让S上班." S(S(KS)K)(K(SII)))",所以我必须尝试:
var I = function (x) {
return x;
};
var K = function (x) {
return function(){
return x;}
};
var S = function (x) {
return function (y) {
return function (z) {
return x(z)(y(z));
}
}
};
var Y = S (K(S(I)(I))) (S(S(K(S))(K)) (K(S(I)(I))));
Y; //evals to:
//function (z) {return x(z)(y(z));}
//And this (lifted from Crockford's Site):
var factorial = Y(function (fac) {
return function (n) {
return n <= 2 ? n : …Run Code Online (Sandbox Code Playgroud) 好的,所以我们有一个通过 XML 与网络服务通信的网络应用程序。
到目前为止,我们只是通过将字符串组合在一起(并通过 XMLHttpRequest/POST 发送)来组装这些 XML。我想重新考虑使用构建和序列化浏览器中内置的 XML DOM 树的工具,即 document.implementation & XMLSerializer().serializeToString(doc) (请参阅此处和此处的Mozilla 文档)。到目前为止,它一直工作正常,只是结果字符串不包含 XML 声明。
那么,这应该如何运作?有什么好的建议和/或阅读吗?
哦,是的,我发现了这个描述问题的 mozilla 错误和一个骇人听闻的解决方法(链接的线程可通过archive.org 获得)。
所以我使用一个对象传递我的可选变量,如下所示:
var foo = function (options) {
var options = options || {}; //provide a default, so that
var bar = options.bar || 42; //this doesn't fail on 'foo();'
//do stuff
};
Run Code Online (Sandbox Code Playgroud)
JSLint抱怨我正在覆盖选项,如果它是假的,这就是我想要的.实际上,我应该检查它是否是一个对象,否则抛出错误让用户知道是什么.所以 - 在那个注意事项 - 这里有什么好的形式?有人对此有一个很好的解读吗?另外,我将如何以DRY风格编写一系列具有此模式的函数?