Tag: 范围

如何使用LINQ从列表中select提供的索引范围内的值

我是一个LINQ新手试图使用它来实现以下目标: 我有一个int列表: List<int> intList = new List<int>(new int[]{1,2,3,3,2,1}); 现在,我想用LINQ来比较前三个元素[索引范围0-2]与最后三个[索引范围3-5]之和。 我尝试了LINQ Select和Take扩展方法以及SelectMany方法,但我无法弄清楚如何说 (from p in intList where p in Take contiguous elements of intList from index x to x+n select p).sum() 我也查看了Contains扩展方法,但是看不到我想要的。 有什么build议么? 谢谢。

节点式的需要在浏览器中的JavaScript?

浏览器中是否有任何JavaScript库提供与Node require的相同的灵活性/模块性/易用性? 要提供更多的细节: require的原因是如此之好,它是: 允许从其他位置dynamic加载代码(在我看来,在风格上更好,而不是链接HTML中的所有代码) 它为构build模块提供了一致的界面 模块很容易依赖于其他模块(所以我可以编写一个需要jQuery的API,这样我就可以使用jQuery.ajax() 加载的javascript是有作用域的 ,这意味着我可以加载var dsp = require("dsp.js"); 我可以访问dsp.FFT ,这不会干扰我的本地var FFT 我还没有find一个有效的库。 我倾向于使用的解决方法是: coffeescript-concat – 很容易要求其他的js,但是你必须编译它,这意味着它对于快速开发来说不是那么好(比如构buildAPI in-test) RequireJS – 它很stream行,直接,解决1-3,但是缺less范围是一个真正的破产 (我相信head.js是相似的,因为它缺乏范围,但我从来没有任何机会使用它。同样, LABjs可以加载, .wait()可以.wait()依赖关系问题,但是它仍然没有做范围界定) 据我所知,似乎有很多的dynamic和/或asynchronous加载的解决scheme,但他们往往有相同的范围问题,只是从HTML加载js。 更重要的是,我想要一种方法来加载JavaScript,根本不污染全局名称空间,但仍然允许我加载和使用库(就像节点的要求一样)。 编辑(我的答案):由于写这个,我已经广泛使用了RequireJS (现在有更清晰的文档)。 在我看来,RequireJS确实是正确的select。 我想澄清这个系统对那些和我一样困惑的人是如何工作的: 你可以在日常开发中使用require 。 一个模块可以是一个函数(通常是一个对象或一个函数)返回的任何东西,并且作为参数作用域。 您也可以使用r.js将您的项目编译成单个文件进行部署(实际上,即使require可以并行加载脚本,这几乎总是更快)。 RequireJS和node-style之间的主要区别在于像browserify(由tjamesonbuild议的一个很酷的项目)使用的是模块的devise和要求的方式: RequireJS使用AMD(asynchronous模块定义)。 在AMD中, require需要一个模块列表(javascript文件)来加载和callback函数。 当它加载了每个模块时,它将调用每个模块的callback作为callback的参数。 因此,它确实是asynchronous的,因此非常适合于networking。 节点使用CommonJS。 在CommonJS中, require是一个阻塞调用,它加载一个模块并将其作为一个对象返回。 这适用于Node,因为文件是从文件系统中读取的,速度足够快,但在networking上效果不佳,因为同步加载文件可能需要更长的时间。 在实践中,许多开发者在看到AMD之前就已经使用了Node(以及CommonJS)。 另外,许多库/模块是为CommonJS编写的(通过向导出对象添加东西)而不是AMD(通过从define函数返回模块)。 因此,许多Node-turned-Web开发人员想要在Web上使用CommonJS库。 这是可能的,因为从<script>标记加载被阻止。 像browserify这样的解决scheme采取CommonJS(节点)模块,并包装起来,所以你可以包含脚本标签。 因此,如果您正在为Web开发自己的多文件项目,我强烈build议RequireJS,因为它是真正的Web模块系统(尽pipe在公平的披露中,我发现AMD比CommonJS更自然)。 最近,这个区别变得不太重要,因为RequireJS现在允许你基本上使用CommonJS语法。 另外,RequireJS可以用来在Node中加载AMD模块(尽pipe我更喜欢node-amd-loader […]

在Python中阻塞作用域

当你用其他语言编写代码时,你有时候会创build一个块范围,像这样: statement … statement { statement … statement } statement … statement 一个目的(很多)是为了提高代码的可读性:显示某些语句形成一个逻辑单元,或者某些局部variables只在该块中使用。 在Python中做同样的事情是否有一种惯用的方式?

PowerShell中的variables范围

PowerShell的一个令人伤心的事情是函数和脚本块是dynamic范围的。 但还有一件令我惊讶的事情是,variables在内部范围内performance为写入时拷贝(copy-on-write)。 $array=@("g") function foo() { $array += "h" Write-Host $array } & { $array +="s" Write-Host $array } foo Write-Host $array 输出是: gs gh g 这使得dynamic范围减less了一点痛苦。 但是,如何避免写入时复制?

为什么从C ++ 11中删除对范围访问?

我刚刚发现,C ++ 11草案有一个std::begin / std::end重载std::pair ,允许将一对迭代器视为适合在基于范围的for循环中使用的范围(N3126,第20.3.5.5节),但是这已经被删除。 有谁知道为什么它被删除? 我发现删除非常不幸,因为它似乎没有其他的方式来处理一对迭代器作为范围。 确实: 在基于范围的for循环中,begin / end的查找规则表示在1)中将begin / end作为范围对象的成员函数2)作为“关联名称空间”中的自由函数进行查找 std::pair没有开始/结束成员函数 std::pair<T, U>唯一相关的命名空间通常是命名空间std 我们不允许自己为std::pair加载std::begin / std::end 我们不能将std::begin / std::end专门化为std::pair (因为专精必须是部分的,而且不允许用于函数) 有没有其他的方式,我失踪了?

Android两个大拇指的Seekbar

这个问题的变化可以在互联网上find,但不是一个答案。 我想要一个双拇指范围select的seekbar。 我愿意自己编程,但我缺乏Android的经验。 有人能给我一些指导从哪里开始。 我的意思是,我知道我将不得不扩展一些东西(可能是ProgressBar),但我应该怎么做呢? 我真的必须重新创build一个标准的seekbar的所有function,还是有一个更简单的方法? 完整的解决scheme当然也是受欢迎的;)

静态(词法)范围与dynamic范围(伪码)

Program A() { x, y, z: integer; procedure B() { y: integer; y=0; x=z+1; z=y+2; } procedure C() { z: integer; procedure D() { x: integer; x = z + 1; y = x + 1; call B(); } z = 5; call D(); } x = 10; y = 11; z = 12; call […]

Vim延伸线的范围

我是一位C#开发人员,他刚刚决定扩展我对可用工具的知识。 我决定学习的第一个工具是Vi / Vim。 到目前为止,一切进展顺利,但是我似乎无法find答案: 可以说我想抽出一系列线条。 我知道这样做有很多方法,但是我想用行号来做。 我认为这与替代命令的工作方式类似,像81,91y 。 有没有办法做到这一点? 我在正常模式下对g命令有点困惑。 它似乎做了很多事情,我不能确定g命令的核心。 我很困惑它是一个运动命令还是一种“全部捕捉”其他命令在正常模式下运行。 有人可以解释一下这个或者给我一个参考,给出一个g命令的一个很好的解释吗?

如何获取当前范围/符号表中定义的所有variables?

在PHP中是否有一个函数和/或对象和/或扩展可以让你查看当前范围中定义的所有variables? 就像是: var_export($GLOBALS) 但只显示当前符号表中的variables。

VB.Net属性 – 公共获取,私人设置

我想我会问…但是有没有办法让获取属性公开的一部分,但保持私人? 否则,我想我需要两个属性或一个属性和一个方法,只是认为这将是更清洁。