问题标签 [prefix]

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.

0 投票
33 回答
29038 浏览

coding-style - 您对成员变量使用什么样的前缀?

毫无疑问,对于理解代码来说,给成员变量一个前缀是很重要的,这样它们就可以很容易地与“正常”变量区分开来。

但是你使用什么样的前缀?

我一直在处理我们使用m_作为前缀的项目,在其他项目中我们只使用下划线(我个人不喜欢,因为只使用下划线不够说明)。

在另一个项目中,我们使用了长前缀形式,它也包括变量类型。例如mul_是u nsigned long类型的成员变量的前缀。

现在让我知道您使用哪种前缀(并请说明原因)。

编辑:你们中的大多数人似乎在没有为成员变量添加特殊前缀的情况下编写代码!这取决于语言吗?根据我的经验,C++ 代码倾向于使用下划线或m_作为成员变量的前缀。其他语言呢?

0 投票
10 回答
148266 浏览

bash - 如何使用前缀/后缀重命名?

mv original.filename new.original.filename如果不重新输入原始文件名,我该怎么办?

我会想象能够做类似mv -p=new. original.filename或可能或其他的事情 - 但在查看/ pagesmv original.filename new.~后我看不到这样的事情。man mvinfo mv

当然,我可以编写一个 shell 脚本来执行此操作,但它没有现有的命令/标志吗?

0 投票
5 回答
6393 浏览

javascript - 检查字符串是否是 Javascript RegExp 的前缀

在 Javascript 中,我定义了一个正则表达式,现在用户正在输入一个字符串。我想告诉他,如果他继续打字或者他已经走错了路,他的字符串是否仍然可以匹配正则表达式。例如:

一个实现isPrefixOf看起来如何?

更新:感谢您的回答,按照布拉德的建议,使正则表达式前缀证明似乎是一个很好的解决方法。但我仍在努力寻找一个通用的解决方案。

也许是这样:我们创建一个新的正则表达式,用户输入后跟.*. 这个正则表达式描述了用户仍然可以输入的所有单词。如果这个创建的正则表达式和原始正则表达式的交集是空的,那么用户已经走错路了。如果不是,他过得很好。例如:

intersect()re返回一个新的正则表达式,它只接受两个都接受的单词reInput。该功能尚不存在,但我们可以使用前瞻来实现它:

保持开放的是isEmpty()功能。我们如何检查 Javascript 正则表达式是否匹配任何单词或者它是否为空?

0 投票
3 回答
12671 浏览

regex - 如何使用正则表达式使用前缀字符进行拆分?

我想拆分示例字符串:

~Peter~Lois~Chris~Meg~Stewie

在角色上~,结果是

彼得·
洛伊丝
克里斯·
梅格·
斯图维

在 javascript 或 C# 中使用标准字符串拆分函数,第一个结果当然是一个空字符串。我想避免忽略第一个结果,因为第一个结果实际上可能是一个空字符串。

我一直在摆弄使用正则表达式,我很困惑。我敢肯定有人已经遇到过这个问题的优雅解决方案。

0 投票
4 回答
4098 浏览

tree - 关于树和前缀(波兰语)表示法?

我的 MIPS 汇编课程要求我将未知大小的表达式读入解析树。我从来不用处理树,所以这就是我存储值的方式:

假设用户输入了表达式 1 + 3 - 4(每个操作数只能是数字 1-9)

我最左边的子节点将是起点并包含 2 条数据

这就是我构建树的方式。我会从操作数指向运算符,再指向下一个操作数,再指向下一个运算符,直到没有更多值要读入。

我的下一个任务是递归地遍历树并以中缀/前缀/后缀表示法输出值。

考虑到我是如何构建树的,中缀遍历没有问题。

我被困在前缀上。首先,我并不完全理解它。

当我在前缀中输出我们的表达式 (1 + 3 - 4) 时,它应该出现 - + 1 3 4 吗?我无法按照在线示例进行操作。

您还认为我的树构造正确吗?我的意思是,我无法从当前节点转到前一个节点,这意味着我总是必须从最左边的子节点开始遍历,尽管我的 TA 说这是要走的路,但本能地听起来并不正确。

感谢您的任何帮助。

0 投票
5 回答
9282 浏览

objective-c - Objective C 中的实例变量/方法参数命名

对于实例变量和方法参数的命名,这里的人们遵循什么约定 - 特别是当方法参数用于设置 ivars(实例变量)时?

在 C++ 中,我经常使用m_ivars 的前缀。在 C# 中,我遵循纯粹通过使用this.for ivars 来消除歧义的约定。从那以后,我也采用了 C++ 中的等价物(this->)。

在 Objective C 中,我尝试了一些东西,但没有一个看起来真的令人满意。

除非有人提出非常好的建议,否则我将不得不妥协(但请不要让我使用theargs 的前缀!),所以我很想听听大多数人的意见 - 特别是来自那些已经使用 ObjC 一段时间的人。

在发布此内容之前,我做了一些尽职调查,并在其中找到了一些很好的资源:

他们给了我一些想法,但我仍然很想听听其他人在做什么。

[编辑] 澄清一下:这就是你如何区分 ivars 和我正在寻找的方法 args 的方式——无论是通过前缀还是其他一些技术。

[编辑 2] 感谢所有回复和讨论点。我没有结束这个,但我只想说,正如我在对已接受答案的评论中指出的那样,我已经采用了在 init args 前加上前缀的约定the(以及在 setter args 前加上new,无论如何我都在这样做)。这似乎是力量的最佳平衡——即使我自己并不热衷于美学。

0 投票
1 回答
264 浏览

algorithm - 如何对 32 位数字进行排序以查找唯一条目?

有一个“文件”数据集 - 文件名,后面是 32 位数字 - 类似于文件的哈希值。

我将如何获得唯一文件,因此 s2 不是任何其他 s2 的前缀 - 这意味着该数字是唯一的。如果有两个相同的 s2,如果它们不是任何其他 s2 的前缀,它们都是唯一的。

我正在寻找一个快速的解决方案。我可以想出解决方案来比较每个字符串,但这太耗时且无效。另一种选择是以某种方式将 MySQL 引擎用于表,但我不确定如何。你能帮我吗?

0 投票
4 回答
14923 浏览

c++ - 基数树/帕特里夏树中的前缀搜索

我目前正在实现一个基数树/帕特里夏树(无论你想怎么称呼它)。我想用它在一个严重不足的硬件上的字典中进行前缀搜索。它应该或多或少像自动完成一样工作,即显示输入前缀匹配的单词列表。

我的实现基于这篇文章,但其中的代码不包括前缀搜索,尽管作者说:

[...]假设您要枚举所有具有公共前缀“AB”的键的节点。您可以从该根开始执行深度优先搜索,只要遇到后边缘就停止。

但我不明白这应该如何工作。例如,如果我从这些词构建一个基数树:

疾病
想象
想象
想象
模仿
立即
立即
巨大

对于前缀“i”和“in”,我将得到完全相同的“最佳匹配”,因此我似乎很难通过从最佳匹配中遍历树来收集所有匹配的单词。

此外,Java 中有一个基数树实现,它在RadixTreeImpl.java中实现了前缀搜索。该代码显式检查所有节点(从某个节点开始)是否有前缀匹配 - 它实际上比较字节。

谁能指出我在基数树上实现前缀搜索的详细描述?Java实现中使用的算法是唯一的方法吗?

0 投票
3 回答
3786 浏览

ruby-on-rails - 服务器前缀和 rails 路由

当我使用路径选项启动服务器时

在有路线的同时

然后

引发错误“没有匹配的路由......”

问题:如何让 Rails 内置路由识别路径前缀?非常感谢!

0 投票
3 回答
3483 浏览

regex - ActionScript 3 中的正则表达式:如何排除复杂前缀?

AS3 RegExp 引擎(和基于 ECMAScript 的 JavaScript)不支持复杂的“lookbehind”表达式。(完全支持前瞻表达式。)

例如:

会工作,但是;

在 AS3 中不起作用。

我需要的是匹配一个复杂的前缀,但在最终匹配中排除它。在上面的例子中;我试图在 HTML 文本中获取正文内容,但不是开始和结束正文标签。实际的测试文本如下所示: