小编Her*_*rms的帖子

C#中使用的yield关键字是什么?

在" 我如何仅公开IList的片段<>问题"中,其中一个答案包含以下代码段:

IEnumerable<object> FilteredList()
{
    foreach(object item in FullList)
    {
        if(IsItemInPartialList(item))
            yield return item;
    }
}
Run Code Online (Sandbox Code Playgroud)

yield关键字有什么作用?我已经看到它在几个地方被引用,另外一个问题,但我还没弄清楚它实际上做了什么.我习惯于在一个线程产生另一个线程的意义上考虑收益率,但这似乎并不重要.

c# yield

781
推荐指数
16
解决办法
30万
查看次数

从bash中的$ @中删除第一个元素

我正在编写一个bash脚本,需要循环传递给脚本的参数.但是,第一个参数不应该循环,而是需要在循环之前进行检查.

如果我不必删除第一个元素,我可以这样做:

for item in "$@" ; do
  #process item
done
Run Code Online (Sandbox Code Playgroud)

我可以修改循环以检查它是否在第一次迭代中并改变行为,但这似乎太过于苛刻.必须有一个简单的方法来提取第一个参数然后循环其余的,但我无法找到它.

arrays bash

119
推荐指数
4
解决办法
7万
查看次数

Chrome扩展程序用于修改页面的脚本包含和JS

我在客户在其网站上包含的javascript库中嵌入了一个UI小部件.我想要一种在客户网站上测试开发版本库的方法,而不需要他们对代码进行任何更改.这样可以轻松调试问题并测试新版本.

为此,我需要将脚本include更改为指向我的dev服务器,然后覆盖在页面中调用的load()方法,以添加一个额外的参数来告诉它在进行远程调用时指向哪个服务器.

看起来我可以使用chrome扩展程序将JS添加到页面中,但在加载之前我没有看到任何修改页面的方法.是否有我遗漏的东西,或者镀铬扩展不允许做这种事情?

javascript google-chrome google-chrome-extension

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

.bat文件中的奇怪范围问题

我正在写一个简单的.bat文件,我遇到了一些奇怪的行为.有几个地方我必须做一个简单的if/else,但块内的代码似乎没有正常工作.

这是一个演示错误的简单案例:

@echo off

set MODE=FOOBAR

if "%~1"=="" (
  set MODE=all
  echo mode: %MODE%
) else (
  set MODE=%~1
  echo mode: %MODE%
)
echo mode: %MODE%
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

C:\>test.bat test
mode: FOOBAR
mode: test
Run Code Online (Sandbox Code Playgroud)

为什么代码块中的回声没有得到变量的新值?在我写的实际代码中,我需要构建一些变量并在if/else的范围内引用它们.我可以将其切换为使用标签和gotos而不是if/else,但这似乎并不那么干净.

是什么导致这种行为?代码块中的变量是否存在某种限制?

scope batch-file

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

从命令行编译Flex Builder项目

有没有一种简单的方法可以通过命令行构建在FlexBuilder中创建的项目?

我正在开始为我工作的项目添加一些Flex组件.目前,项目的其余部分(一些java,一些C++)是通过ant脚本构建的.我真的希望能够将我正在使用的Flex组件的构建集成到该ant脚本中,但我不确定如何从命令行构建Flex项目.

有没有办法从命令行调用flex编译器,以便它使用flex builder的项目作为其配置?或者有没有办法修改FlexBuilder的编译,以便我可以为项目编写构建脚本,然后让它使用它(这样我只有一种方法来构建并让ant和FB都使用它,而不是单独使用构建过程)?

虽然flex ant任务更可取,但并不是必需的,因为我可以轻松地从命令行应用程序创建自定义任务.

编辑:

还有一件事我应该提一下.虽然我安装了FlexBuilder,但运行该ant脚本的人却没有.他们只有普通的Flex SDK.

apache-flex ant command-line flexbuilder

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

是否有Perl相当于ruby koans项目?

有一个Perl等同于ruby-koans项目吗?

几个月前,当我开始学习红宝石时,我偶然发现了ruby-koans,这对于学习该语言的基础知识是一个巨大的帮助.

我现在需要查看一些Perl代码,虽然我在过去一起编写了一些Perl脚本,但我从来没有真正学过这种语言,而且每次我都要回溯一下我为简单的东西写的旧脚本.我觉得像koans这样的东西会让我更容易学习和保留 Perl的知识.

这样的事情存在吗?

ruby perl

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

Flex分析 - [enterFrameEvent]在做什么?

我的任务是找到(并可能修复)一些传递给我们的Flex应用程序的严重性能问题.当应用程序处于空闲状态且不应执行任何操作时,应用程序将始终占用CPU的50%到100%.

我的第一步是运行FlexBuilder附带的分析器.我期望找到一些占用大部分时间的方法,向我展示瓶颈所在.但是,我有意外的事情.

前4种方法是:

  • [enterFrameEvent] - 84%累积,32%自我时间
  • [收获] - 20%累积和自我时间
  • [tincan] - 8%累积和自我时间
  • global.isNaN - 4%累积和自我时间

所有其他方法的累积和自身时间均小于1%.

根据我在网上找到的内容,[括号内的方法]是分析器在没有实际的Flex方法显示时列出的内容.我看到有人声称[tincan]是RTMP请求的处理,我认为[reap]是垃圾收集器.

有谁知道[enterFrameEvent]实际上在做什么?我认为它基本上是事件循环的"主要"功能,因此预计会有很高的累积时间.但为什么自我时间如此之高?究竟发生了什么?我没想到玩家内部会花费这么多时间,特别是因为应用程序中实际上没有发生任何事情(并且没有UI更新).

有没有什么好方法可以找到正在发生的事情?我知道不应该发生的事情(看起来必须有某种忙碌的等待或其他失控的循环),但是探查器并没有给我任何我期待的结果.我的下一步是开始在各个地方添加调试跟踪语句,以尝试跟踪实际发生的情况,但我觉得必须有更好的方法.

apache-flex profiling enterframeevent

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

当参数传递给我的ruby脚本时,为什么会抛出错误?

我正在使用gets暂停脚本的输出,直到用户点击回车键.如果我没有将任何参数传递给我的脚本,那么它可以正常工作.但是,如果我将任何参数传递给我的脚本,则会因以下错误而死亡:

ruby main.rb -i
main.rb:74:in `gets': No such file or directory - -i (Errno::ENOENT)
    from main.rb:74:in `gets'
    ...
Run Code Online (Sandbox Code Playgroud)

错误消息显示我传递给脚本的参数.为什么会看到ARGV?

我正在使用OptionParser来解析我的命令行参数.如果我使用parse!而不是parse(因此它删除它从参数列表中解析的东西),那么应用程序工作正常.

所以看起来像是因为某种原因读取了ARGV.为什么?这是预期的吗?有没有办法让它不这样做(做gets()没有帮助).

ruby gets

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

如何在Flex中使用VideoDisplay显示实时流媒体视频

我想知道如何使用VideoDisplay对象(在MXML中定义)来显示通过NetStream从FMS流式传输的视频.

flex3文档表明这是可能的:

视频显示器...支持通过HTTP进行渐进式下载,从Flash Media Server进行流式传输以及从Camera对象进行流式传输.

但是,稍后在文档中我可以看到的是attachCamera()方法.似乎没有像旧的Video对象那样的attachStream()方法.

看起来您可以使用source属性播放通过HTML提供的固定文件,但我没有看到有关如何附加NetStream的任何信息.

旧的Video对象似乎仍然存在,虽然它不是基于UIComponent,并且似乎不能在MXML中使用.

我发现这篇博文显示了如何使用常规的Video对象,但我更喜欢使用VideoDisplay(或者可以直接放在MXML中的其他东西).

apache-flex video streaming

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

在python中是否存在等效于'map'的位置?

我有一个需要消毒的字符串列表.我有一种消毒方法,所以我可以这样做:

new_list = map(Sanitize, old_list)
Run Code Online (Sandbox Code Playgroud)

但我不需要保留旧列表.这让我想知道是否有一个相当于地图的就地.很容易为它编写for循环(或自定义就地映射方法),但是内置了什么?

python dictionary in-place

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