标签: generator

使用正则表达式标准生成字符串

我不知道是否可以实现满足以下第二个思想要求的最佳字符串生成器类:


我对正则表达式感到不舒服:我无法想出一段代码,但我只想到一个使用TList作为基类的天真实现,并使用过滤器(Regex)来对抗"暴力"生成的字符串.

还有哪些其他最佳选择?


  • 订购:首先按长度(最短的第一个),然后按字典顺序排列.
  • 生成中使用的字符范围的规范:[AZ],[az],数字,特殊符号和最终空间(正则表达式?)的所有可打印或任何可能的组合.
  • 字符串长度以给定的最小值/最大值为界.
  • 搜索空间受边界限制:开始字符串结束字符串可能过滤(正则表达式?)

最后编辑

首先,我使用正则表达式而不是正则表达式来改写标题.

我正在考虑修改第一项要求,因为它是一扇敞开的门,可能导致难以解决的问题.

我需要建议和帮助正确的措辞.

第二个想法要求编辑完成.仍然愿意提出改进建议.

regex delphi string generator enumerator

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

Java密码生成器

我正在尝试创建一个创建密码的java程序,全部是小写,小写和大写,小写和大写以及数字,小写和大写以及数字和标点符号,程序还必须创建用户选择的密码之一并且必须根据用户选择的内容生成密码长度.我已经为用户选择了密码选项,并提示他选择一个.我现在坚持如何创建上面提到的密码类型.一个人建议我使用ASCII值,然后将它们转换为文本.我知道如何将它们转换为文本,但它会显示数字,字母和标点符号.有没有什么办法可以只为小写字母生成ASCII值?另外我如何根据用户'生成密码'

java passwords generator

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

forEach在Node.js中使用生成器

我正在使用Koa.js框架和Mongoose.js模块.

通常从MongoDB获取结果我的代码如下:

var res = yield db.collection.findOne({id: 'my-id-here'}).exec();
Run Code Online (Sandbox Code Playgroud)

但我需要为名为'items'的数组的每个元素执行此行.

items.forEach(function(item) {
  var res = yield db.collection.findOne({id: item.id}).exec();
  console.log(res)  // undefined
});
Run Code Online (Sandbox Code Playgroud)

但是这个代码没有运行,因为函数中的yield.如果我写这个:

items.forEach(function *(item) {
  var res = yield db.collection.findOne({id: item.id}).exec();
  console.log(res)  // undefined
});
Run Code Online (Sandbox Code Playgroud)

我也没有得到res变量的结果.我试图使用' generator-foreach '模块,但这并没有像这样工作.

我知道这是我对Node.js的语言素养缺乏了解.但是你能帮助我找到一种方法吗?

foreach generator mongoose node.js koa

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

如何在发电机内使用等待?

我有一个生成器,在其他操作中,查询数据库,如

function* current(db) {
  const items = await db.collection('...').find({ ... });

  for (const item of items)
    if (...) yield item;
}
Run Code Online (Sandbox Code Playgroud)

这是无效的语法.使用承诺和屈服于a then也是不可能的.

那我该怎么办?如何在生成器中使用异步操作?

asynchronous generator async-await ecmascript-6

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

在Python 3.5中,关键字"await"是否相当于"yield from"?

在这里的文档:https://docs.python.org/3/library/asyncio-task.html,我发现很多yield from都可以替换await.

我想知道它们在Python 3.5中是否一直是等效的.有没有人有这个想法?

concurrency asynchronous generator coroutine python-3.x

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

Python生成器对象:__sizeof __()

这可能是一个愚蠢的问题,但无论如何我都会问.我有一个生成器对象:

>>> def gen():
...     for i in range(10):
...         yield i
...         
>>> obj=gen()
Run Code Online (Sandbox Code Playgroud)

我可以测量它的大小:

>>> obj.__sizeof__()
24
Run Code Online (Sandbox Code Playgroud)

据说发电机被消耗掉了:

>>> for i in obj:
...     print i
...     
0
1
2
3
4
5
6
7
8
9
>>> obj.__sizeof__()
24
Run Code Online (Sandbox Code Playgroud)

......但obj.__sizeof__()仍然是一样的.

使用字符串它按预期工作:

>>> 'longstring'.__sizeof__()
34
>>> 'str'.__sizeof__()
27
Run Code Online (Sandbox Code Playgroud)

如果有人能够启发我,我将感激不尽.

python generator internals

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

基于文本的UML图生成器

您知道哪些生成器工具能够从基于文本(简单ASCII)的输入生成UML(可能还有其他)图表?

我知道http://plantuml-depend.sourceforge.net/screenshot/screenshot.html

我正在寻找类似的东西

要求:

  • 生成器不应该有太多依赖项
  • 基于CLI - 指定输入和输出文件
  • 输出名称应该是可预测的或可指定的
  • 可能的输出格式:SVG,PNG,JPEG,PDF
  • 发电机可以免费使用,也可以购买(无订阅)
  • 理想情况下,在默认布局不愉快的情况下,可以影响图表布局
  • 清洁的视觉图表 - 令人愉快的查看和阅读
  • 积极维护软件

作为读取ASCII输入的CLI工具的替代,我也对UML库感兴趣.

谢谢克劳德

diagram svg uml ascii generator

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

在JavaScript中实现monad

现在node.js支持ECMAScript Harmony生成器,我们可以do在Haskell中简洁地编写monadic代码:

function monad(unit, bind) {
    return function (f) {
        return function () {
            var g = f.apply(this, arguments);

            return typeOf(g) === "Generator" ? send() : unit(g);

            function send(value) {
                var result = g.next(value);
                if (result.done) return unit(result.value);
                else return bind(result.value, send);
            }
        };
    };
}

function typeOf(value) {
    return Object.prototype.toString.call(value).slice(8, -1);
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中monad是一个函数,可用于创建确定性 monad,如:

var maybe = monad(function (a) {
    return {just: a};
}, function (m, f) {
    return m …
Run Code Online (Sandbox Code Playgroud)

javascript monads generator node.js ecmascript-harmony

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

发电机是否可以调用?哪个是发电机?

生成器只是一个函数,它返回一个可以在其上调用的对象,这样每次调用它都会返回一些值,直到它引发一个StopIteration异常,表示已生成所有值.这样的对象称为迭代器.

>>> def myGen(n):
...     yield n
...     yield n + 1
... 
>>> g = myGen(6)
Run Code Online (Sandbox Code Playgroud)

我从Python中理解生成器中引用了这个

这是我想弄清楚的:

  1. 哪个是发电机?myGen还是myGen(6)

    根据上面提到的报价,我认为发电机应该是myGen.并且myGen(6)是返回的迭代器对象.但我真的不确定.

  2. 当我尝试这个时:

    >>> type(myGen)
    <type 'function'>
    >>> type(g)         # <1>this is confusing me.
    <type 'generator'>  
    >>> callable(g)     # <2> g is not callable.  
    False               
    >>> callable(myGen)
    True
    >>> g is iter(g)    # <3> so g should an iterable and an iterator 
    True                # at the same time. And it …
    Run Code Online (Sandbox Code Playgroud)

python generator callable

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

计算元组列表中项目的频率

我有一个元组列表,如下所示.我必须计算有多少项的数字大于1.我到目前为止编写的代码非常慢.即使有大约10K元组,如果你看到下面的例子字符串出现两次,所以我必须得到这样的字符串.我的问题是通过迭代生成器来实现字符串计数的最佳方法是什么

列表:

 b_data=[('example',123),('example-one',456),('example',987),.....]
Run Code Online (Sandbox Code Playgroud)

我的代码到目前为止:

blockslst=[]
for line in b_data:
    blockslst.append(line[0])

blocklstgtone=[]
for item in blockslst:
    if(blockslst.count(item)>1):
        blocklstgtone.append(item)
Run Code Online (Sandbox Code Playgroud)

python tuples list generator python-3.x

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