小编col*_*sar的帖子

"Brodal搜索树"真的已经实用了吗?

Brodal等.在他们的ESA '06论文中证明了存在一个纯函数结构,具有对数时间搜索,更新和插入以及恒定时间合并.(注意我不是在谈论Brodal堆,它是一种不同的数据结构,广泛用于实现纯粹的功能优先级队列.)这似乎是一个非常有利可图的结果,应该导致高效的纯功能集和映射,但我没有看到他们在任何地方使用过:

  • Haskell containers使用亚当斯树;
  • OCaml标准库使用AVL树;
  • Scala的不可变排序映射使用红黑树实现.

如果Brodal树真的有这么好的结果,为什么它们没有被改编成主流的函数式编程语言标准库?事实上,我根本没有看到一个Brodal树的实现!

具体来说,这是因为:

  • 它们非常难(或实际上几乎不可能)正确实施;
  • 常数非常大,实际收益似乎很小;
  • 其他原因;
  • 或上述的组合?

ocaml haskell functional-programming scala data-structures

19
推荐指数
1
解决办法
316
查看次数

ASP.Net MVC 3 Razor Response.Write位置

我正在尝试更新关于将Facebook BigPipe实施到剃须刀的教程.

有一个html助手扩展,它将一个pagelet添加到列表中,然后将一个保持div输出到响应中.我的想法是,稍后将此pagelet的内容呈现为字符串,然后通过javascript注入此持有div.

public static void RegisterPagelet(this HtmlHelper helper, Pagelet pagelet) {
    var context = helper.ViewContext.HttpContext;
    List<Pagelet> pagelets = (List<Pagelet>)context.Items["Pagelets"];
    if (pagelets == null) {
        pagelets = new List<Pagelet>();
        context.Items["Pagelets"] = pagelets;
    }
    pagelets.Add(pagelet);
    context.Response.Write("<div id=\"" + pagelet.Container + "\"></div>");
}
Run Code Online (Sandbox Code Playgroud)

在示例中,此函数的调用方式如下:

<div id="textHolder">
    <% Html.RegisterPagelet(myPagelet); %>
</div>
Run Code Online (Sandbox Code Playgroud)

这会将小页面添加到列表中,并将保留div输出到响应流.

所以

<div id="textHolder">
    <div id="pageletPlaceHolder"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,当我在Razor中尝试相同时:

<div id="textHolder">
    @{ Html.RegisterPagelet(myPagelet);  }
</div>
Run Code Online (Sandbox Code Playgroud)

div占位符显示在bodyHolder div之外的正文顶部.为什么是这样?我怎样才能使这个行为像在div中输出响应的webforms视图?

谢谢.

c# response.write razor asp.net-mvc-3

18
推荐指数
1
解决办法
2万
查看次数

为什么Python需要丰富的比较?

有一段时间我对此感到困惑:我们是否需要在Python中使用丰富的比较?

我在这里阅读官方文档,但它只是给出了它的工作原理,而不是我们需要它的原因.

该文档的片段:

事实x==y并非暗示这x!=y是错误的.可以描述一个我们需要丰富比较的场景.在这个场景中,我们可以制作__eq__并且__ne__都返回False以禁用比较或任何其他目的.(我们可以通过使用实现这个 __cmp__)

但这只是猜测,我从未在真正的项目中遇到过这样的要求.

有没有人需要使用丰富的比较,还是有任何其他需要在理论上使用丰富的比较的场景?

也许是我的例子x==yx!=y引起了一些混乱,对不起.让我更清楚一点:
有没有丰富的比较可以帮助但__cmp__不能帮助的情况?

python

16
推荐指数
2
解决办法
1306
查看次数

如何在iPhone的导航栏中添加自定义颜色?

如何将导航栏设置为自定义颜色(例如深绿色)?

我知道如何使用以下代码将导航栏更改为绿色和红色等原色:

UINavigationBar *bar = [self.navigationController navigationBar]; 
[bar setTintColor:[UIColor redColor]]; 
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone objective-c navigationbar

12
推荐指数
2
解决办法
3万
查看次数

如何以高分辨率放大位图?

我正在尝试使用TouchImageView.

  • TouchImageView 放在片段中.
  • 我为此设置了一个大图像(2500x3000)TouchImageView,(使用inSampleSize = 8加载).
  • 然后我捏放大图像,它以低分辨率显示.(这也就不足为奇了.)

但是,我想在放大时显示高分辨率图像,如Android Gallery应用程序.这该怎么做?

提前致谢.

android pinchzoom

7
推荐指数
1
解决办法
4183
查看次数

由于方向改变,onActivityResult无法调用

我有两个名为的活动

'第一'和'第二'

当我startActivityForResult()在第一个活动中调用方法时,将转到第二个活动并获取一些数据并返回.

如果第二个活动的方向发生了变化,那么在获取数据后它就不会调用 onActivityResult()方法.

它调用了create function.

我该怎么办才能保存从第二个活动中获取的数据,并且onActivityResult()即使我更改方向也会调用方法.

performance android android-intent android-orientation android-activity

6
推荐指数
1
解决办法
826
查看次数

Javascript关闭函数参数?

代码属于javascriptissexy.com我的问题是为什么调用mjName("杰克逊")返回"这个名人是迈克尔·杰克逊"?是不是在任何外部函数中给出的第二个参数,对js =内部函数参数说?有人能详细解释整个概念吗?

function celebrityName (firstName) {
    var nameIntro = "This celebrity is ";
// this inner function has access to the outer function's variables, including the parameter
    function lastName (theLastName) {
        return nameIntro + firstName + " " + theLastName;
    }
    return lastName;
}

var mjName = celebrityName ("Michael");
    // At this juncture, the celebrityName outer function has returned.

// The closure (lastName) is called here after the outer function has returned above
// Yet, the closure still has access …
Run Code Online (Sandbox Code Playgroud)

javascript closures

6
推荐指数
2
解决办法
1万
查看次数

React - 在组件内动态创建List项

有没有办法将动态li元素添加到我的ul列表中?我想点击按钮添加我的李.这是示例代码

class Component1 extends React.Component {

    constructor() {
        super();
    }

    add() {
        let ul = document.getElementById('mylist');
        let li = document.createElement('li');
        li.appendChild(document.createTextNode({some_variables});
        ul.appendChild(li);
    }
    render() {
        return (
                <a href="#" onClick={() => this.add()}>Add</a>
                <ul id="mylist">
                    /* dynamic list ITEM  */

                </ul>
        );
    }
}

ReactDOM.render(<Component1 />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

当前的函数add()对React不起作用

javascript reactjs

4
推荐指数
1
解决办法
8011
查看次数

用于内部 Web 应用程序的自定义 HTTP 标头

内部 Web 应用程序中的自定义 http 标头是否有任何公认的命名约定?

严格意义上的内部意味着永远不会通过公共互联网传输具有此标头的请求。自由意义上的内部意味着虽然请求可以通过公共互联网传输,但服务器端点将始终是受特定供应商控制的机器。

我知道这篇 SO 文章RFC 6648

然而,后一篇参考文献中提出的推理并不能完全说服我,因为它说:

2.  SHOULD employ meaningful parameter names that they have reason to
    believe are currently unused.

3.  SHOULD NOT prefix their parameter names with "X-" or similar
    constructs.
Run Code Online (Sandbox Code Playgroud)

好吧,X-<meaningful_name>传达了<meaningful_name>+ 所建议的语义,即此标头既未由官方标准维护机构分配也未向官方标准维护机构注册,因此第 2.、3. 项似乎有点矛盾。

当然,我可以使用其他绰号,例如Vnd-公司/产品名称前缀,甚至是像Foo-. X-然而,反对前缀的论点仍然适用。

另一方面,仅使用“有意义的名称”就会招致未来与官方标准或其他产品将成为加工管道一部分的公司认可的同一术语发生冲突。

ps:如果这个问题被认为过于不具体,请见谅。我很乐意把它搬到其他更合适的地方。

web-services http http-headers

3
推荐指数
1
解决办法
4956
查看次数

Javascript正则表达式用于清理字符串值

我想用js从字符串中去除无效字符。

我的正则表达式当前如下:

var newString = oldString.replace(/([^a-z0-9 ]+)/gi, '');
Run Code Online (Sandbox Code Playgroud)

即找到az或0-9以外的任何内容以及与大小写无关的空格,并替换为空-但是我也想允许使用下划线(_),连字符(-)和点(.)。

我尝试按以下方式更新我的正则表达式,但未按预期工作-进行更改后,我发现带有方括号()的字符串没有被剥离?

var newString = oldString.replace(/([^a-z0-9 .-_]+)/gi, '');
Run Code Online (Sandbox Code Playgroud)

我是否缺少简单的东西?

javascript regex

3
推荐指数
1
解决办法
672
查看次数