问题标签 [idioms]

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 投票
3 回答
2843 浏览

ruby - 如果没有参数,则针对标准输入运行脚本;否则输入文件 =ARGV[0]

这很好用——只是想知道是否有任何改进可以缩短它?

0 投票
4 回答
5040 浏览

language-agnostic - 成语与模式

在编程的上下文中,习语模式有何不同?

我可以互换使用这些术语,并且通常遵循我听到的最流行的方式,或者在当前对话中最近调用它的方式,例如“复制交换成语”和“单例模式”。

我能想出的最大区别是几乎要按字面意思复制的代码通常称为模式,而要按字面意思理解的代码通常称为idiom,但这甚至并不总是正确的。这似乎只是一种风格或流行语的差异。这是否符合您对如何使用这些术语的看法?有语义上的区别吗?

0 投票
3 回答
401 浏览

ruby-on-rails - 这个 Ruby 习语有更好的替代方法吗?

我发现自己经常在控制器中编写这段代码:

不要挂断我在这里的具体工作,因为原因每次都在变化;但是在很多情况下,我需要检查 params 中的值并在将其交给createor之前对其进行更改update_attributes

重复params[:task][:completed_at]三遍感觉很糟糕。有一个更好的方法吗?

0 投票
4 回答
2989 浏览

terminology - 惯用词对列表

我记得在某处看到过用于编程的惯用词对字典。

比如get- set, open- close, allocate-free等等。

有人记得网址吗?

0 投票
1 回答
710 浏览

python - 是否有 Python 的元编程模式目录?

我刚刚阅读了 Python Cookbook。这本书太棒了。

我认为这本书的最佳用途是它提供了许多在实际问题应用程序中展示 Python 的示例。许多习语都包括元编程技术。

我想知道是否有任何目录可以总结 Python 中的元编程习语?

Python Cookbook 的示例和技术非常丰富。但我认为还需要一个模式目录,为每种技术提供特定名称,并从具体应用领域抽象出解决方案技术的主要特征,就像 Gang of Four 的设计模式书所做的那样。

0 投票
46 回答
617598 浏览

java - 如何在 Java 中反转 int 数组?

我正在尝试反转 Java 中的 int 数组。

此方法不会反转数组。

它有什么问题?

0 投票
8 回答
240 浏览

python - 关于读取小文件的python风格问题

在命名文件中读取最pythonic的方法是什么,去除空行,仅包含空格或将#作为第一个字符,然后处理剩余的行?假设这一切都可以轻松地放入内存中。

注意:这样做并不难——我要的是最pythonic的方式。我已经写了很多 Ruby 和 Java 并且已经失去了我的感觉。

这是一个稻草人:

我对简洁感兴趣,但不以变得难以阅读为代价。

0 投票
2 回答
528 浏览

r - R - 处理数据帧列表的惯用方式

我有 30 次运行数据,每次都存储在一个单独的 CSV 文件中,runi.csv,i = 0:29。

假设我想将它们全部收集到一个列表中。我知道如何做到这一点的最好方法是

现在让我们进一步说,存储在列表中的每个数据帧都具有相同的列布局,并且我对由“x”标识的列和由“y”标识的列感兴趣。

绘制所有 30 次运行的 (x, y) 对的最简单方法是什么?这是我目前的做法(我觉得必须有更好的方法):

当我尝试对数据进行转换时,这会变得更加痛苦;我不知道如何将函数应用于存储在列表中的每个数据框的特定列。

这里的任何帮助都会非常有帮助。

0 投票
2 回答
403 浏览

f# - Define concise F# class with post constructor logic

For this class definition:

Will PostProcess (some string manipulation function) gets called every time f2 is accessed? If the answer is yes and I want to avoid it, what’s the right idiom? Is this one below recommended? It is a bit too verbose for me.

0 投票
2 回答
3233 浏览

python - 在 Python 中避免不必要的切片复制

对于这样的情况,是否有避免无意义的切片复制的常见习语:

b[14:20]在我看来,创建切片时发生了不必要的副本。而不是在内存中创建一个新的切片给我,extend我想说“只使用当前对象的这个范围”。

一些方法将帮助您使用切片参数,例如count

但是很多,比如extend我的第一个例子,没有这个功能。

我意识到对于许多应用程序来说,我所说的将是一个微优化,所以在任何人问之前 - 是的,我已经分析了我的应用程序,这对于我的情况值得担心。

我在下面有一个“解决方案”,但欢迎任何更好的想法。