scope相关内容

如何在 Python 中创建动态范围的变量?

我正在将一些代码从 lisp 翻译成 Python. 在 lisp 中,您可以使用 let 构造,其中引入的变量声明为特殊的,因此具有动态范围.(参见 http://en.wikipedia.org/wiki/Dynamic_scope#Dynamic_scoping) 我如何在 Python 中做同样的事情?似乎语言不直接支持这个,如果是真的,有什么好方法可以模拟它? 解决方案 ..
发布时间:2022-01-04 11:37:25 Python

Objective-C 程序中的全局变量

我想将一个数字存储为全局变量.我使用什么语法,应用程序的其他部分如何访问该变量? 解决方案 对于标准全局变量(当应用程序终止和重新启动时不持久)将其添加到头文件 (*.h) 您的选择: extern NSInteger MYGlobalVariable; 然后把这个放到实现文件中;(*.m, *.c, *.cpp): MYGlobalVariable = 0;//或任何其他默认值. ..
发布时间:2022-01-04 11:37:16 移动开发

文件作用域和全局作用域的区别

我是一名学生,我对 C 和 C++ 中的全局和文件范围变量感到困惑.两种观点有什么不同吗?如果是,请详细说明. 解决方案 具有文件作用域的变量可以被单个文件中的任何函数或块访问.要声明文件范围的变量,只需在块外声明一个变量(与全局变量相同),但使用 static 关键字. static int nValue;//文件作用域变量浮动 fValue;//全局变量int main(){双 dV ..
发布时间:2022-01-04 11:37:08 C/C++开发

是否可以在 PHP 中访问外部局部变量?

是否可以在 PHP 子函数中访问外部局部变量? 在下面的代码中,我想访问内部函数栏中的变量 $l.在栏中将 $l 声明为 global $l 不起作用. 函数 foo(){$l = "xyz";功能栏(){回声 $l;}酒吧();}富(); 解决方案 你或许可以使用闭包来做到这一点...... 编辑:花了一些时间来记住语法,但它看起来像这样: 函数 foo(){$l = "xy ..
发布时间:2022-01-04 11:36:59 PHP

在 ECMAScript5 中,“use strict"的范围是什么?

严格模式 pragma 在 ECMAScript5 中的作用域是什么? "使用严格"; 我想这样做(主要是因为 JSLint 不会抱怨它): "使用严格";(功能 () {//我的东西在这里...}()); 但我不确定这是否会破坏其他代码.我知道我可以做到这一点,这会将编译指示范围限定为函数... (函数(){“严格使用";//我的东西在这里...}()); 但是 JSLint 抱怨它 ..
发布时间:2022-01-04 11:36:47 前端开发

从另一个文件访问 C++ 中的外部变量

我在其中一个 cpp 文件中有一个全局变量,我正在为其分配一个值.现在为了能够在另一个 cpp 文件中使用它,我将它声明为 extern 并且这个文件有多个使用它的函数,所以我在全局执行此操作.现在可以在其中一个函数中访问此变量的值,而不能在另一个函数中访问.除了在头文件中使用它之外的任何建议都会很好,因为我浪费了 4 天的时间. 解决方案 抱歉,我忽略了对建议使用头文件以外的任何其他内容 ..
发布时间:2022-01-04 11:36:39 C/C++开发

同一资源的两个页面 - ActiveAdmin

目前我有 User 模型,它在 user.rb 中注册为 ActiveAdmin 的新资源.生成的页面显示所有用户和范围(all/journalists/startup_employees).现在我想为相同的资源和相同的范围创建另一个页面,但应该只有 waiting 字段设置为 true 的记录(并且上一页应该显示仅此带有 :waiting => false).我怎么能那样做?我知道我可以用过滤器 ..
发布时间:2022-01-04 11:36:34 其他开发

什么时候使用 Spring 原型作用域?

我想知道我应该什么时候使用 Spring 中的 prototype 作用域?我知道如果请求 bean,singleton 返回相同的对象实例. 那我们为什么要考虑prototype? 通过示例进行解释将非常有助于理解对它的需求. 解决方案 要清楚简单的定义: Prototype scope = 每次注入/查找时都会创建一个新对象.每次都会使用 new SomeBean() ..
发布时间:2022-01-04 11:36:12 Java开发

使代码在内部但可用于其他项目的单元测试

我们将所有的单元测试放在他们自己的项目中.我们发现我们必须为单元测试公开某些类而不是内部类.有没有办法避免这样做.将类设为公开而不是密封会带来哪些内存影响? 解决方案 如果您使用 .NET,InternalsVisibleTo 程序集属性允许您创建“朋友"程序集.这些是特定的强命名程序集,允许访问其他程序集的内部类和成员. 注意,这应该谨慎使用,因为它紧密耦合了所涉及的程序集.Int ..
发布时间:2022-01-04 11:36:00 C#/.NET

iOS 在 Objective-C 中构建和返回对象的这种方式的名称

我想知道这种编码风格叫什么,它是内联块吗?内联作用域?什么?编译器遇到其中之一时会创建什么... - (UIView *)createMyView {返回({UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 0)];/* 在视图上设置一些东西;*/看法;});} 我之所以这么问是因为我们在崩溃日志中收到了很多 ..
发布时间:2022-01-04 11:35:49 移动开发

儿童范围&CS0136

以下代码无法编译,说明“不能在此范围内声明名为 'st' 的局部变量,因为它会给 'st' 赋予不同的含义,而 'st' 已在 '子' 范围中用于表示其他内容“: var l = new List();l.Find(st => st.EndsWith("12"));string st = "为什么会失败?"; 我明白为什么这行不通: string preParent = "";{stri ..
发布时间:2022-01-04 11:35:33 C#/.NET

CoffeeScript 中的变量类型

我不太确定 CoffeeScript 中不同变量的用途 类奶牛@utters = 1构造函数:(@name) ->变异:->警报@utters头数:1英尺 = 9c = 新牛 根据我的调查,heads 似乎是公开的,而 feet 是私人的.在弄清楚 name 和 utters 时,我感到困惑.对于 name 它或多或少编译为 this.name = name 而对于 utters 它编译为 C ..
发布时间:2022-01-04 11:35:24 其他开发

JavaScript 中的内部函数会被提升吗?范围规则如何适用于它们?

我认为 JavaScript 没有块作用域,而是函数作用域,并且声明从它们的块提升到其父函数的顶部. 但是,以下代码没有按预期工作: function one(a) {console.log("一个叫" + a);如果 (a == 1) {函数内部(b){console.log("内部调用" + b);}内部(123);}内部(456);}一(1);一(2);一(3); 第一个 one( ..
发布时间:2022-01-04 11:35:19 前端开发

Fortran 77 中的局部变量是静态的还是堆栈动态的?

对于我的编程语言第一类硬件问题: FORTRAN 中的局部变量是静态的还是堆栈动态的?初始化为默认值的局部变量是静态的还是堆栈动态的?给我看一些带有解释的代码来支持你的答案.提示:检查这一点的最简单方法是让您的程序测试子程序的历史敏感性.看看当你将局部变量初始化为一个值时会发生什么,当你不初始化时会发生什么.您可能需要调用多个子程序才能自信地锁定答案. 我写了几个子程序:- 创建一个变 ..
发布时间:2022-01-04 11:35:06 其他开发

我应该使用“这个"吗?当我想在方法中引用实例变量时使用关键字?

我的老师说,当我尝试访问方法中的实例变量时,我应该始终使用 this 关键字,否则我会执行双重搜索.局部范围搜索,然后是实例范围搜索. 示例: 公共类Test(){int cont=0;公共无效方法(){System.out.println(cont);//我应该用This.cont吗?}} 我希望他是错的,但我找不到任何论据. 解决方案 否,仅当您有名称冲突时才使用 this, ..
发布时间:2022-01-04 11:34:55 Java开发

在函数作用域(生命周期)之后,对临时对象的 const 引用被破坏

在问这个问题时,我学会了const引用到临时对象在 C++ 中是有效的: int main(){整数 a = 21;整数 b = 21;//错误:非常量引用的初始化无效//int &总和 = a + b;e [...]//行int const &总和 = a + b;返还金额;} 但是在下面的例子中,const 引用 refnop 引用了一个被破坏的临时对象.我想知道为什么? #includ ..
发布时间:2022-01-04 11:34:45 C/C++开发

更改方法中的数组更改外部的数组

我在变量范围方面遇到问题. public static void main(String[] args){int[] 测试={1,2,3};测试一下);System.out.println(test[0]+" "+test[1]+" "+test[2]);}静态无效测试(int [] 测试){测试[0]=5;} 我期望输出为 1 2 3,但结果是 5 2 3.为什么我在方法中改变了数组中的值, ..
发布时间:2022-01-04 11:34:36 Java开发