标签: generator

Ruby on Rails中的后端管理

我想为我在最后一刻附加的Ruby on Rails应用程序构建一个真正快速而又脏的管理后端.我已经看过activescaffold并简化并认为它们都非常有吸引力,它们应该很容易运行,但我不太明白如何设置任何一个作为后端管理页面.它们看起来像标准的Ruby on Rails生成器/脚手架一样工作,用于创建模型 - 视图 - 控制器 - 表名称对应的可见前端.

当玩家已经在使用并且您想尽可能地避免影响其任何相关文件时,如何创建admin_players界面?

管理员无法使用原始资源的显示,编辑和索引.

ruby-on-rails admin backend generator scaffolding

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

用Javascript编写的Lexer?

我有一个项目,用户需要为ui定义一组完全用javascript编写的指令.我需要能够解析一串指令然后将它们转换成指令.是否有任何库可用于解析100%javascript?或者将在javascript中生成的生成器?谢谢!

javascript parsing generator lexer

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

如何编写从不产生任何东西的Python生成器函数

我想编写一个从未真正产生任何东西的Python生成器函数.基本上它是一个"无所事事"的插件,可以被其他代码用来调用生成器(但并不总是需要它的结果).到目前为止我有这个:

def empty_generator():
    # ... do some stuff, but don't yield anything
    if False:
        yield
Run Code Online (Sandbox Code Playgroud)

现在,这可行,但我想知道是否有更具表现力的方式来说同样的事情,即声明一个函数是一个生成器,即使它从不产生任何值.我上面使用的技巧是在我的函数中显示Python一个yield语句,即使它无法访问.

python yield generator

28
推荐指数
3
解决办法
8678
查看次数

Go中的Python风格生成器

我目前正在研究Tour of Go,我认为goroutines的使用方式与Python生成器类似,特别是问题66.我认为66看起来很复杂,所以我把它重写为:

package main

import "fmt"

func fibonacci(c chan int) {
    x, y := 1, 1

    for {
        c <- x
        x, y = y, x + y
    }
}

func main() {
    c := make(chan int)
    go fibonacci(c)

    for i := 0; i < 10; i++ {
        fmt.Println(<-c)
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效.几个问题:

  1. 如果我将通道上的缓冲区大小调高,比如10,fibonacci将尽快填满10个其他位置,并尽可能快地main消耗掉这些位置.这是正确的吗?这会比以1的缓冲区大小更高的性能而牺牲内存,对吗?
  2. 由于频道没有被fibonacci发送者关闭,当我们离开这里的范围时会发生什么?我的期望是,一旦cgo fibonacci超出范围,渠道和它的一切得到垃圾收集.我的直觉告诉我这可能不会发生什么.

python generator go goroutine

28
推荐指数
4
解决办法
6238
查看次数

generator-karma不满足其兄弟姐妹的peerDependencies要求

同样臭名昭着的错误

npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer generator-angular@0.7.1 wants generator-karma@~0.6.0
npm ERR! peerinvalid Peer generator-angular-ui-router@0.5.3 wants generator-karma@~0.5.0

npm ERR! System Darwin 12.5.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "generator-angular"
npm ERR! cwd /Users/dmitrizaitsev/Dropbox/Priv/APP/my-yo-project
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code EPEERINVALID

来自安装各种包装,例如

npm update -g yo
Run Code Online (Sandbox Code Playgroud)

唯一找到的卸载建议generator-karma没有帮助 - 它重新安装回来.

更好地解释它为什么会发生和工作解决方案?

generator node.js angularjs yeoman karma-runner

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

Python 3:发送方法

我无法理解这种send方法.我知道它用于操作发电机.但语法在这里:generator.send(value).

我莫名其妙地无法理解为什么值应该成为当前yield表达式的结果.我准备了一个例子:

def gen():
    for i in range(10):
        X = yield i
        if X == 'stop':
            break
        print("Inside the function " + str(X))

m = gen()
print("1 Outside the function " + str(next(m)) + '\n')
print("2 Outside the function " + str(next(m)) + '\n')
print("3 Outside the function " + str(next(m)) + '\n')
print("4 Outside the function " + str(next(m)) + '\n')
print('\n')
print("Outside the function " + str(m.send(None)) + '\n') # Start generator …
Run Code Online (Sandbox Code Playgroud)

python generator python-3.x

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

如何使用Redux Saga测试API请求失败?

我试图测试我的传奇可以遵循的每个场景,但我无法实现我想要的行为.这很简单,我有一个HTTP请求(登录),我想通过模拟我的API方法来测试成功和失败的情况.

但是,它看起来call effect不会激活我的api功能,我还没有真正得到它是​​如何工作的,但我想中间件是负责调用该功能,因为我不去通过商店我的测试,我无法得到结果.

所以我的问题是,当您需要在异步调用旁边发送不同的操作(通常是成功或失败)时,如何测试您的传奇?

我找了一个例子,我发现sagas成功并失败但是失败案例从未经过测试,例如在这里的购物车示例中

SAGA.JS

export function* login(action) {
  try {
    const user = yield call(api.login, action);
    return yield put(actions.loginSuccess(user));
  } catch(e) {
    yield put(actions.loginFail(e));
  }
}

export default function* rootAuthenticationSagas() {
  yield* takeLatest(LOGIN, login);
}
Run Code Online (Sandbox Code Playgroud)

TEST.JS

describe('login', () => {
  context('When it fails', () => {
    before('Stub the api', () => {
      sinon.stub(api, 'login', () => {
        // IT NEVER COMES HERE !
        return Promise.reject({ error: 'user not found' });
      });
    });

    it('should return …
Run Code Online (Sandbox Code Playgroud)

javascript generator reactjs redux redux-saga

27
推荐指数
2
解决办法
7888
查看次数

生成器函数的返回类型提示是什么?

我正在尝试:rtype:为生成器函数编写类型提示.它返回的类型是什么?

例如,假设我有这个函数产生字符串:

def read_text_file(fn):
    """
    Yields the lines of the text file one by one.
    :param fn: Path of text file to read.
    :type fn: str
    :rtype: ???????????????? <======================= what goes here?
    """
    with open(fn, 'rt') as text_file:
        for line in text_file:
            yield line
Run Code Online (Sandbox Code Playgroud)

返回类型不只是一个字符串,它是某种可迭代的字符串?所以我不能写:rtype: str.什么是正确的提示?

python yield generator type-hinting python-2.7

27
推荐指数
3
解决办法
7971
查看次数

python生成器垃圾收集

我认为我的问题与有关,但并不完全相似.考虑以下代码:

def countdown(n):
    try:
        while n > 0:
            yield n
            n -= 1
    finally:
        print('In the finally block')

def main():
    for n in countdown(10):
        if n == 5:
            break
        print('Counting... ', n)
    print('Finished counting')

main()
Run Code Online (Sandbox Code Playgroud)

此代码的输出是:

Counting...  10      
Counting...  9       
Counting...  8       
Counting...  7       
Counting...  6       
In the finally block 
Finished counting  
Run Code Online (Sandbox Code Playgroud)

是否保证在"完成计数"之前打印"在最后一个块中"这一行?或者这是因为cPython实现细节,当引用计数达到0时,对象将被垃圾收集.

另外我对如何好奇finally的块countdown执行发电机?例如,如果我将代码更改main

def main():
    c = countdown(10)
    for n in c:
        if n == 5:
            break
        print('Counting... ', n)
    print('Finished …
Run Code Online (Sandbox Code Playgroud)

python generator python-internals

27
推荐指数
2
解决办法
1315
查看次数

代码图像生成器

几个星期前,我看到一个带有强大生成器的网站,可以创建自己的源代码文件的精美图片.生成器创建的图像具有可变效果,如透视变换和景深等.

通常情况下我不会在这里问这样的问题,但我用Google搜索超过2小时,我再也找不到这个发电机了.我真的很疯狂 - 我知道这个网站存在...

这是使用此生成器生成的代码示例图:

令人敬畏的图片可能是用我正在搜索的那台发生器制作的

非常感谢你!Waescher

image generator

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