标签: yield

列表中的收益字符串[Char]

我有al:List [Char]我要连接的字符并在一个for循环中作为String返回.

我试过这个

val x: String = for(i <- list) yield(i)
Run Code Online (Sandbox Code Playgroud)

导致

 error: type mismatch;  
 found   : List[Char]  
 required: String
Run Code Online (Sandbox Code Playgroud)

那么如何更改产量的结果类型呢?

谢谢!

scala yield yield-return

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

有人可以揭开yield关键字的神秘面纱吗?

我已经看到在Stack Overflow和博客上使用了yield关键字.我不使用LINQ.有人可以解释yield关键字吗?

我知道存在类似的问题.但是没有一个能用简单的语言解释它的用途.

c# language-features yield

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

Javascript检查产量支持

我在JavaScript中读到了yield关键字,我需要在我的项目中使用它.我读到这个关键字是从某个版本的JS开始实现的,所以我认为旧浏览器不支持它(对吧?).

有没有办法检查yield关键字是否受支持?或者至少有办法检查JS的版本是否大于或等于实现该关键字的版本(1.7)?

javascript yield keyword yield-keyword

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

是否可以使用'yield'生成'Iterator'而不是Scala中的列表?

是否可以在不评估每个值的情况下将yield用作迭代器?

这很容易实现复杂的列表生成,然后你需要将其转换成一个常见的任务Iterator,因为你不需要一些结果......

scala yield continue yield-keyword yield-return

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

如何编写从不产生任何东西的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
查看次数

使用Scala continuation实现yield(yield return)

如何yield return使用Scala continuation 实现C#?我希望能够以Iterator相同的风格编写Scala .这篇Scala新闻帖的评论中有一个刺,但它不起作用(尝试使用Scala 2.8.0测试版).一个相关问题的答案表明这是可能的,但是虽然我已经玩了一段时间的分隔延续,但我似乎无法完全理解如何做到这一点.

continuations scala yield yield-return scala-2.8

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

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

我正在尝试: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
查看次数

LINQ之外的产量是否有用?

当我认为我可以使用yield关键字时,我退后一步,看看它将如何影响我的项目.我总是最终返回一个集合而不是yeilding,因为我觉得保持yeilding方法状态的开销不会给我带来太大的影响.在几乎所有我返回集合的情况下,我觉得90%的时间,调用方法将迭代集合中的所有元素,或者将在整个集合中寻找一系列元素.

我确实理解它在linq中的用处,但我觉得只有linq团队正在编写这样复杂的可查询对象,这些对象的产生是有用的.

有没有人写过像linq这样的产品有用吗?

.net c# linq yield

26
推荐指数
5
解决办法
4488
查看次数

C#中的收益率是否是线程安全的?

我有以下代码:

private Dictionary<object, object> items = new Dictionary<object, object>;
public IEnumerable<object> Keys
{
    get
    {
        foreach (object key in items.Keys)
        {
            yield return key;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是线程安全的吗?如果不是我必须lock围绕循环或yield return

这就是我的意思:

KeysThread1 访问属性,而Thread2将一个项添加到基础字典.Thread1是否受Thread2的影响?

c# ienumerable yield yield-return

26
推荐指数
3
解决办法
8769
查看次数

Thread.Sleep或Thread.Yield

我有一个方法,使用后台工作程序轮询DLL的状态,如下所示:

var timeout = DateTime.Now.AddSeconds(3);
while (System.Status != Status.Complete  // our status is not complete
       && DateTime.Now < timeout         // have not timed out
       && !_Worker.CancellationPending)  // backgroundworker has not been canceled
{
    //Thread.Yield();
    //Thread.SpinWait(1);
    //Thread.Sleep(1);
}
Run Code Online (Sandbox Code Playgroud)

当看着我的CPU%,yield()spinwait()导致我的应用程序来拍摄高达50%,我的电脑上.随着Sleep(1)我的CPU%,6%,保持了下来.我被告知我应该选择Thread.Yield(),但是CPU%的高峰会让我感到困扰.什么是这样的最佳做法?

c# multithreading sleep yield

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