问题标签 [variable-names]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 堆栈/堆变量在内存中存储的变量/引用名称或类型在哪里?
我想我理解堆栈和堆之间的主要区别。
在下面的程序中,在堆上创建了一个大小为 n 的对象。在堆栈上创建了一个指向这个 sofar 无名对象的指针 p,它占用 4 个字节(至少在我的系统上)。如果我理解得很好,因为引用不使用额外的内存,所以不会分配更多的内存(除了 main() 在堆栈上返回的 int 之外)。
尽管如此,内存管理还不完全清楚:
1) 名称 p 和 r 存储在哪里?它们都是本地名称,所以我想它们也应该放在堆栈上?这不需要额外的内存来存储变量名和它所引用的内存部分之间的绑定吗?
2)指针的类型存储在哪里?指针在堆栈上仅占用 4 个字节,(我认为)这是存储内存地址的确切大小。计算机如何知道在该地址可以找到哪种类型?
3) 与 (2) 类似,堆上的 Object 需要 n 个字节的存储空间,并且对它的唯一(直接)引用需要 0 个字节。这个对象的类型存储在哪里,所以当使用r时,它知道它是哪种类型吗?
4)我知道编译后的程序也驻留在内存中的某个地方以指导它的执行。这是在堆栈还是堆上,还是这仍然是内存的另一部分?
node.js - 猫鼬查询仅在更改变量名称时有效
我正在尝试在我的 node+express 代码中运行这个简单的代码
它失败了
我不知道为什么。如果我将变量名从“包”更改为其他名称,它会起作用。
此处复制粘贴的代码太多,但我想这一定是我做错的基本事情,因为变量名更改解决了它。问题可能是什么?
java - 变量名是否有任何限制,以免与包名冲突?
假设我在测试包中有一个测试类:
假设,我在 clarying 包中有另一个类 Product:
我已经编译了 Product 类,现在我正在尝试编译 Test 类,但它引发了编译器错误:
问题是:
因为 Test 类中的变量名是 clarying ,所以和包名 clarying 是一样的。因此,当我编写clarying.Product时,它正在搜索clarying类变量内的字段Product 。
我只是想澄清一下:是否有任何规则反对定义与包同名的变量?
r - 在 R 中:将列名作为参数传递,并在 dplyr::mutate() 和 lazyeval::interp() 的函数中使用它
这个问题链接到这个 SO 答案,除了在这里我想使用在 a 中指定为函数 arg 的变量mutate_()
。如果我不在以下内容中进行任何“计算”,它就会起作用mutate_()
:
这给出了预期:
但如果我这样做,似乎我没有正确指定“v3”:
不工作;为什么它不等于函数外的 this ?:
给出:
更新(在@docendo discimus 的解决方案之后):关于使用的解决方案lazyeval::interp()
有效。但是,如果一个功能更复杂一点,我似乎会打字很多。例如。我想要一个函数,它可以为计数数据帧 c 中的所有 NP 组合返回分数和 Fisher 的 2x2 pvalue。
所以我开始test.df
使用很多行group_by
和来制作一个函数mutate
。没有lazyeval,它不起作用(原因),但看起来像这样:
然后我转向了lazyval方式,它起作用了!:
给出:
我没有正确使用lazyeval,还是以愚蠢的方式构建函数?这里非常感谢一些输入。
r - R : 用 for() 改变变量名;grepl() 和 colnames()
我试图制作一个数据面板,并且我必须重命名一些列才能应用rbind()
然后运行一些统计信息。
我有多个这样的对象:
数据22
和;
数据3
等等,
我想根据它的变量更改列名(因为未排序,我不能通过正常和简单的过程来做到这一点),所以例如我尝试使用:
有了这个想法,我打算将它应用到 for 中()
,但即使没有for()
感谢您的帮助
r - 检索协变变量集
我有一个数据框,其中包含大量变量,这些变量表示为随时间变化的列作为它们的索引。我想检索一组高度共变的变量。
应该给出相同结果的两个函数是,
可以使用简单的 过滤结果(X_results > 0.6)
,但这似乎丢失了变量的名称。
我正在尝试从大型数据框中提取与阈值共同变化的变量集。我希望我缺少一些简单的内置函数。关于如何做到这一点的任何建议?
编辑:我意识到 Spearman 将是一个绝对错误的函数,因为它也会对值进行排名,而不仅仅是时间框架。
c - 除了不能在任何程序中使用的变量名之外,还有哪些在 cdecl 中不允许使用的变量名?
我一直在玩cdecl,我注意到有些名称不允许作为标识符,尽管 GCC 可以完美地编译它们。
例如,如果我写
整数点;
或者
整数指针;
或者
整数数组;
cdecl 给出“语法错误”,但是当我在程序中使用它时,GCC 编译它们没有任何问题。所以,有些标识符在 cdecl 中是不允许的。
哪些标识符不能在 cdecl 中使用,但可以在程序中使用(即程序编译)?为什么他们不被允许?
lua - 如何创建与不断增加的数字连接的变量名称
我目前正在编写一个 Lua 脚本。在那里,我想要一个变量名,它与越来越多的数字连接。
示例:Q0001,Q0002,Q0003,...,Q9999
我的以下脚本是:
逻辑上我把它放到一个函数中,因为它只是我程序的一部分。稍后在程序中,我喜欢使用变量获取信息,因为变量的乘积Q###
是我编写的表。我解决问题的第二个想法是将其转换为文本,但后来我不知道如何将其转换为声明。
编辑 15 年 4 月 4 日 19:17:也让它更清楚。我希望 Text 位于我之前设置的表格的脚本结束之后。所以我可以说Text.Name
例如
php - 一个名为 `$something` 的变量是否可以被 `someting` 引用,即没有美元符号?
我正在检查其他人编写的一些 PHP 代码,他们基本上命名了一个变量$text
:
然后在同一个文件中,他们指的是不带$
符号的:
- 我有点好奇。这甚至可能吗?
$
是否可以仅使用标识符的一部分来引用与某个单词连接命名的变量$
? - 如果是,它是否暗示了一些特殊的东西,还是对变量的简单引用?
PS:我不认为代码有问题,因为它可以工作=s
database - 具有非描述性变量名称的可维护代码
我正在使用 LexisNexis VisualFiles,其脚本语言不允许使用描述性变量名称 - 它只允许名为 TF01、TF02 或 LF01、LF02 等的“临时字段”和“本地字段”。其他数据来自“实体”例如,任何实体的描述性名称都是“selectedentity.EN01”。
这很难维护,尤其是我正在编辑的很多内容在编写时都没有评论。特别是,如果我在编写一段代码后发现我需要使用一个新变量,我发现我只是在尝试发明我有理由确定在其他任何地方都没有使用过的变量号。有没有人对如何使这样的代码具有可读性和可维护性有任何建议,而不是手动注释每一行?
编辑:这不是 ECL,这是 Visualfiles 的脚本语言。我在网上找不到任何资源,我唯一的参考是软件附带的帮助文件。这是我试图破译的那种代码:
任何变量都可以是任何类型,所以我正在寻找一个可以帮助我保持井井有条并跟踪我所写内容的系统——如果“评论所有内容”是唯一也可以的解决方案。