问题列表 - 第17639页

在python中有一种方法可以在调用之前检查函数是否是"生成器函数"?

可以说我有两个功能:

def foo():
  return 'foo'

def bar():
  yield 'bar'
Run Code Online (Sandbox Code Playgroud)

第一个是正常函数,第二个是生成器函数.现在我想写这样的东西:

def run(func):
  if is_generator_function(func):
     gen = func()
     gen.next()
     #... run the generator ...
  else:
     func()
Run Code Online (Sandbox Code Playgroud)

什么是直截了当的实现is_generator_function()?使用types包我可以测试是否 gen是生成器,但我希望在调用之前这样做func().

现在考虑以下情况:

def goo():
  if False:
     yield
  else:
     return
Run Code Online (Sandbox Code Playgroud)

调用goo()将返回生成器.我假设python解析器知道该goo()函数有一个yield语句,我想知道是否可以轻松获取该信息.

谢谢!

python function generator coroutine

57
推荐指数
3
解决办法
7533
查看次数

如何使用C++模板理解输出结果

我用C++模板写了偶数/奇数的判断代码.

#include <iostream>

template <int N, int Mod2=N%2>
struct Print {
  Print() {
    std::cout << N << std::endl;
  }
};

template <int N>
struct Print<N, 0> {
  Print() {
    std::cout << "Even!" << std::endl;
  }
};

template <int N>
struct Print<N, 1> {
  Print() {
    std::cout << "Odd!" << std::endl;
  }
};

template <int N>
struct EvenOdd {
  EvenOdd() {
    EvenOdd<N+1>();
    Print<N>();
  }
};

template <>
struct EvenOdd<10> {
  EvenOdd() {
    std::cout << "Hey!" << std::endl;
  }
};

int main() …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

时间机器与Subversion

有没有理由不使用Time Machine而不是Subversion(在Mac上)?

我一直在使用版本和Cornerstone试用版.两者都无法解决合并问题.使用svn 1.6,你就会遇到不可能的树冲突.如果你那样做,那就别忘了.我不断有树冲突和文件冲突,但没有办法对它们做任何事情.我的设置可能是最简单的:一个带有标签分支的主干使用文件系统.自从尝试使用Subversion以来,我已经失去了那么多时间.以前,我使用的是Time Machine,从未遇到过任何问题.我是唯一的开发人员.有没有理由不抛弃Subversion并回到Time Machine?

使用本地http://类型的存储库会比我的基于文件的系统更好地工作,还是会看到不停止树和文件冲突导致没有位置?

请不要指出颠覆红皮书.树冲突并未真正涵盖.

svn version-control xcode

0
推荐指数
3
解决办法
1523
查看次数

如何自定义日期时间格式或将日期时间转换为具有所需格式的字符串

我有一个24小时格式的DateTime字符串..“ 2009-12-31T23:59:59”
我想要这种格式..“ 12/31/2009 23:59:59”即:“ MM / DD / YYYY HH:MM:SS“

当我尝试将其隐式转换为字符串时,虽然我可以编写用于字符串操作的代码..它似乎并没有显示“ 12/31/2009 11:59:59 PM”。是有效的..此外,当我具有dateTime值(例如“ 2009-1-1T1:19:15”)时,情况变得更糟。由于字符串长度在变化,我什至无法追踪Hours和个月使用substring()和convert.ToInt()..

我正在使用Visual Studio 2005,当我编写此语句时,抛出错误:“无法将DateTime隐式转换为String”。

result = Convert.ToString(dateValue);
Run Code Online (Sandbox Code Playgroud)

我简化我的问题:是否有任何方法可以将“ yyyy-mm-ddThh:mm:ss”格式转换为“ mm / dd / yyyy hh:mm:ss” ..并且它必须在Visual Studio 2005中起作用。

c#

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

Django表示不调用clean_ <fieldname>

我正在尝试验证表单(之前曾用过).出于某种原因,我似乎无法在调用form.is_valid()时调用各种清理函数,例如clean_username(self).

我知道还没有足够的支票(他们正在建设你看;-)),但这是我的课程:

  class LoginForm(forms.Form):
    username = forms.CharField(max_length=30)
    password = forms.CharField(max_length=30,widget=forms.PasswordInput)

    def clean_password(self):
        print "Cleaning password"
        password = self.cleaned_data['password']
        if password == u"":
            raise forms.ValidationError("Password is blank.")
        return password

    def clean_username(self):
        username = self.cleaned_data['username']
        if len(username) < 4:
            raise forms.ValidationError("Username is fewer than four charecters.")
        return username


class RegistrationForm( LoginForm ):
        confirm_password = forms.CharField(widget=forms.PasswordInput, max_length=30)
        email = forms.EmailField()

        def clean_confirm_password(self):
            print "Cleaning confirm password"
            clean_confirm_password = self.cleaned_data['confirm_password']
            if clean_confirm_password == u"":
                raise forms.ValidationError("Confirming password is blank.")
            return clean_confirm_password

        def clean(self):
            print …
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

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

是否有类似于Java/C++的Ruby版本的for循环?

是否存在类似于Java/C(++)中的for循环的Ruby版本?

在Java中:

for (int i=0; i<1000; i++) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

原因是我需要根据迭代索引进行不同的操作.看起来Ruby只有for-each循环?

我对么?

ruby java foreach for-loop

10
推荐指数
5
解决办法
5428
查看次数

在python中不可能做(a,b)+ =(1,2)?

以下行似乎不起作用:

(count, total) += self._GetNumberOfNonZeroActions((state[0] + x, state[1] - ring, state[2]))
Run Code Online (Sandbox Code Playgroud)

我想在这种情况下不可能使用+ =运算符.我想知道为什么?

编辑:实际上我想要的是添加到变量count和由该函数返回的元组给出的总值.现在我想起来,允许(a,b)+ =(1,2)没有意义,因为它会创建一个新的元组,对吧?

换句话说,有没有办法简化这个?

    res = self._GetNumberOfNonZeroActions((state[0] + x, state[1] + ring, state[2]))
    count, total = res[0], res[1]
Run Code Online (Sandbox Code Playgroud)

python

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

TextView中的字体大小

我只是在视图上插入了一个textview,发现IB中的属性检查器似乎不允许更改字体大小.这可能吗,还是我坚持默认大小?

在此先感谢您的帮助.

约翰多纳

iphone font-size uitextview

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

如何手动将jar安装到我的本地Maven存储库?

我想在我的maven项目中使用Google的GXP库.我是Maven的新手并且因为.jar已经在Maven存储库中不可用而遇到了很多麻烦.根据我的阅读,我应该能够在我的本地存储库中安装jar,然后使用它.但是,我遇到了很多麻烦.谁知道我可能出错了?

PS C:\Documents and Settings\bmccann\Desktop> mvn install:install-file -Dfile=gxp-0.2.4-beta.jar -DgroupId=com.google -DartifactId=gxp -Dversion=0.2.4-BETA -Dpackaging=jar
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'install'.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Invalid task '.2.4-beta.jar': you must specify a valid lifecycle phase, or a goal in the format plugin:goal or pluginGroupId:pluginArtifactId:pluginVersi
on:goal
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 

maven-2

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