小编Sun*_*rma的帖子

为什么迭代一个小字符串比一个小列表慢?

我正在玩timeit并注意到对一个小字符串做一个简单的列表理解比在一个小的单个字符串列表上做同样的操作要花费更长的时间.任何解释?这几乎是1.35倍的时间.

>>> from timeit import timeit
>>> timeit("[x for x in 'abc']")
2.0691067844831528
>>> timeit("[x for x in ['a', 'b', 'c']]")
1.5286479570345861
Run Code Online (Sandbox Code Playgroud)

在较低的水平上发生了什么导致这种情况?

python performance cpython timeit python-internals

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

如何在Aurelia JS中重定向到另一个视图模型?

我正在使用Aurelia JS编写应用程序.如何重定向到其他网址?有没有办法在不创建全新导航管道步骤的情况下实现这一目标

谢谢

aurelia

34
推荐指数
4
解决办法
2万
查看次数

我可以在Visual Studio 2012中编译和调试(运行)单个C++文件吗?(如何避免创建太多项目)

我正在学习C++并使用Visual Studio 2012.为了学习本书的练习,我需要在其中创建带有main()函数的多个.cpp文件.有没有什么方法可以编译/调试我的程序而不是每次都创建一个新项目?

例如,如果我写一个简单的"Hello,World!" 文件,然后决定做一些非常简单的事情,我可以避免为每个简单的程序制作一个新项目吗?有没有办法像编译器一样使用Visual Studio 2012?如果我能在一个项目中拥有所有内容,我可以编译我想要的任何单个文件并看到它运行,我会喜欢它.

谢谢你的帮助.

c++ single-file visual-studio-2012

18
推荐指数
5
解决办法
4万
查看次数

我是怎么想在新的堆栈项目中将src/Lib.hs和app/Main.hs之间的代码分开?

我正在关注堆栈指南,我得到了一个新的项目设置(耶!).

它生成了以下文件布局:

.
??? app
?   ??? Main.hs
??? .gitignore
??? LICENSE
??? helloworld.cabal
??? Setup.hs
??? src
?   ??? Lib.hs
??? stack.yaml
??? test
    ??? Spec.hs
Run Code Online (Sandbox Code Playgroud)

根据指南中的" helloworld中的文件 "部分:

app/Main.hs,src/Lib.hs和test/Spec.hs文件都是构成项目实际功能的Haskell源文件(我们在此不再赘述).

我真的希望他们暂时停留在那一秒钟,因为我不知道它之间的区别app/Main.hssrc/Lib.hs应该是什么.我应该把哪个代码放在哪里?

在哪些方面我应该划分之间的代码app/,src/,app/Main.hssrc/Lib.hs

如果我只是编写应用程序或只是编写库,我是否需要这两个文件/目录?

haskell haskell-stack

14
推荐指数
2
解决办法
1065
查看次数

如何检测浏览器是否支持文件上传?(手机+桌面)

我正在为移动和桌面浏览器开发应用程序.我想知道是否有检测浏览器是否支持文件上传.我正在寻找特征检测,而不是浏览器检测.有没有办法找出来?

服务器端或客户端都没问题.

谢谢

mobile file-upload detection browser-feature-detection

9
推荐指数
3
解决办法
6093
查看次数

在Rust中合并两个HashMaps

所以我有点卡住,试图合并两个HashMaps.

内联很容易:

fn inline() {
    let mut first_context = HashMap::new();
    first_context.insert("Hello", "World");
    let mut second_context = HashMap::new();
    second_context.insert("Hey", "There");

    let mut new_context = HashMap::new();
    for (key, value) in first_context.iter() {
        new_context.insert(*key, *value);
    }
    for (key, value) in second_context.iter() {
        new_context.insert(*key, *value);
    }
    println!("Inline:\t\t{}", new_context);
    println!("Inline:\t\t{}\t{} [Initial Maps Still Usable]", first_context, second_context);
}
Run Code Online (Sandbox Code Playgroud)

制作一个功能很容易:

fn abstracted() {
    fn merge<'a>(first_context: &HashMap<&'a str, &'a str>, second_context: &HashMap<&'a str, &'a str>) -> HashMap<&'a str, &'a str> {
        let mut new_context = HashMap::new();
        for (key, …
Run Code Online (Sandbox Code Playgroud)

rust

8
推荐指数
2
解决办法
4759
查看次数

使用Rust编译器来防止忘记调用方法

我有一些像这样的代码:

foo.move_right_by(10);
//do some stuff
foo.move_left_by(10);
Run Code Online (Sandbox Code Playgroud)

最终我执行这两个操作非常重要,但我经常忘记在第一个之后执行第二个操作.它会导致很多错误,我想知道是否有一种习惯性的Rust方法来避免这个问题.当我忘记时,有没有办法让Rust编译器让我知道?

我的想法可能是某种类似的东西:

// must_use will prevent us from forgetting this if it is returned by a function
#[must_use]
pub struct MustGoLeft {
    steps: usize;
}

impl MustGoLeft {
    fn move(&self, foo: &mut Foo) {
        foo.move_left_by(self.steps);
    }
}

// If we don't use left, we'll get a warning about an unused variable
let left = foo.move_left_by(10);

// Downside: move() can be called multiple times which is still a bug
// Downside: left is still …
Run Code Online (Sandbox Code Playgroud)

api-design type-safety rust

8
推荐指数
2
解决办法
1424
查看次数

为什么列没有在我的固定标题,滚动表中对齐?

我有一个固定标题和滚动体的表.没有列正确排列.

以下是我在Google Chrome中看到的内容: 在此输入图像描述

那个屏幕截图是我准备的这个最小的HTML文档:

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
html, body
{
    margin: 0;
    padding: 0;
    font-family: Tahoma, Geneva, sans-serif;
    background-color: #888888;
}

.white_box
{
    border: 1px solid black;
    background-color: white;
}

.round_corners
{
    padding: 20px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.shadow 
{
    -moz-box-shadow: 2px 2px 3px #000;
    -webkit-box-shadow: 2px 2px 3px #000;
    box-shadow: 2px 2px 3px #000;
}

.aligncenter
{
    margin-left: auto;
    margin-right: auto;
}

#editpage
{
    margin-top: 1em;
    margin-left: 1em;
    margin-right: 1em;
}

#updatesdisplay
{
    width: 100%; …
Run Code Online (Sandbox Code Playgroud)

html css width css-tables

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

无法在wxPython中正确使用wx.NotificationMessage

我最近升级到了wxPython(wxPython 2.9.2.4)的开发版本,因为我需要在我的应用程序中使用wx.NotificationMessage的功能.由于我认为可能存在错误,我一直试图在某些用户事件上创建通知气泡失败.在提交此类错误之前,我想继续向邮件列表的人员询问他们认为可能存在的问题,并希望在我的代码中找到解决方案.

这是我用过的代码:

import wx, sys

app = wx.PySimpleApp()

class TestTaskBarIcon(wx.TaskBarIcon):

    def __init__(self):
        wx.TaskBarIcon.__init__(self)
        # create a test icon
        bmp = wx.EmptyBitmap(16, 16)
        dc = wx.MemoryDC(bmp)
        dc.SetBrush(wx.RED_BRUSH)
        dc.Clear()
        dc.SelectObject(wx.NullBitmap)

        testicon = wx.EmptyIcon()
        testicon.CopyFromBitmap(bmp)

        self.SetIcon(testicon)
        self.Bind(wx.EVT_TASKBAR_LEFT_UP, lambda e: (self.RemoveIcon(),sys.exit()))

        wx.NotificationMessage("", "Hello world!").Show()

icon = TestTaskBarIcon()
app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

在我的Windows 7计算机上,代码会创建一个小的白色任务栏图标,并创建一个带有短语"Hello World!"的弹出窗口.问题?消息不在我的图标上.正在创建另一个图标,并将消息放在那里.见图:http://www.pasteall.org/pic/18068">

我认为这可能是因为我在第22行没有传递父参数:

wx.NotificationMessage("", "Hello world!").Show()
Run Code Online (Sandbox Code Playgroud)

以下是我将其更改为:

wx.NotificationMessage("", "Hello world!", self).Show()
Run Code Online (Sandbox Code Playgroud)

"self"指的是任务栏图标.当我这样做时,我收到一个错误:

Traceback (most recent call last):
  File "C:\Python27\testnotificationmessage.py", line 24, in <module>
    icon = TestTaskBarIcon()
  File "C:\Python27\testnotificationmessage.py", line 22, in __init__
    wx.NotificationMessage("", "Hello …
Run Code Online (Sandbox Code Playgroud)

python notifications wxwidgets message wxpython

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

vim 中自动补全隐藏文件

在 vim 中,当我使用类似:e打开文件之类的东西时,它不会自动完成带有隐藏前缀的文件.。例如,当尝试编辑.gitignore文件时,我必须输入整个名称,而不能只输入:e .giti<Tab>. 如果我只是输入:e <Tab>,vim 只会列出非隐藏文件。

我注意到,当我使用:FufFileWithCurrentBufferDir.

有什么办法可以启用此功能吗?

vim autocomplete hidden-files

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