问题标签 [timtowtdi]

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 投票
19 回答
1032 浏览

perl - 什么是对非 Perl 开发人员的有效 Perl 培训?

我使用 Perl 的时间已经够长了,以至于它的许多特性已成为我的第二天性。当新程序员加入我们的团队时,他们通常几乎没有 Perl 经验,而我的任务通常是培训他们(在必要的范围内)。我想知道在培训刚接触 Perl 但有其他语言经验的程序员时应该关注什么(这个问题与语言无关,但我合作过的大多数开发人员都来自 Java)。

我想到了几件事:

  • 符文的正确使用
  • 引用/取消引用
  • 使用列表函数,如mapgrepsort

在帮助程序员过渡到 Perl 时,您发现有什么特别有用的地方吗?您是否强调相同点或不同点,或者两者都同等重要?

0 投票
13 回答
557 浏览

perl - 有什么方法可以使变量像 $a 和 $b 关于严格?

根据迈克尔卡曼的评论,我决定重写这个问题。请注意,在此编辑之前出现了 11 条评论,并相信迈克尔的观察,即我没有以明确我在问什么的方式编写问题。


问题:通过简单地导入模块来伪造严格的特殊状态的标准或最干净的方法是什么$a$b

首先是一些设置。以下作品:

如果我再添加一行:

我在编译时遇到错误,这意味着我的令人眼花缭乱的打印代码都无法运行。

如果我注释掉use strict;它运行良好。在限制之外,$a主要$b的特殊之处在于sort将两个值与这些名称进行比较。

因此,关于and的主要功能区别——即使 Perl“知道它们的名字”——是你最好在排序时知道这一点,或者使用List::Util中的一些函数。$a$b

只有当您使用严格时,才会$a$b全新的方式成为特殊变量。它们是 strict 唯一会通过而不抱怨它们没有被声明的变量。

:现在,我喜欢严格,但令我震惊的是,如果 TIMTOWDI(有不止一种方法可以做到)是 Perl 中的第 1 条规则,那么这不是很 TIMTOWDI。它这么说$a并且$b很特别,就是这样。如果你想使用变量,你不必声明$a并且$b是你的人。如果您想通过添加来获得三个变量$c,那么突然之间就有了另一种方法可以做到这一点。

没关系,在操作哈希时$k可能$v更有意义:

现在,我使用并且我喜欢严格。但我只想$k并且对于最紧凑的语法$v是可见的。skim我希望它可以简单地通过

我问这个问题不是为了知道如何对它施以魔法。我在下面的“答案”应该让你知道我知道的 Perl 足够危险。我在问是否有办法严格接受其他变量,或者什么是最干净的解决方案。答案很可能是否定的。如果是这样的话,它根本就不是很TIMTOWTDI。

0 投票
9 回答
1203 浏览

ruby - 为什么在 Ruby 中有这么多略有不同的方法来做同样的事情?

我正在学习红宝石。我的背景是 C++/Java/C#。总的来说,我喜欢这种语言,但我有点困惑,为什么有这么多不同的方法来完成同一件事,每一种都有自己略微不同的语义。

以创建字符串为例。我可以使用 ''、""、q%、Q% 或仅使用 % 来创建字符串。某些形式支持插值。其他形式允许我指定字符串分隔符。

为什么有五种方法可以创建字符串文字?为什么我会使用非插值字符串?% 语法比带引号的文字有什么优势?

我知道 Ruby 中的冗余肯定是有价值的,但我未经训练的眼睛并不能清楚地看到它。请赐教。

0 投票
4 回答
101 浏览

ruby - 有几个同样抽象的语法变化来编码有什么价值?

我目前正在阅读 Ruby。我认为它是一门不错的语言,但我对有这么多相同的方式感到有点困扰,这些方式在语法上只是略有不同,用于编码相同的动作。例如unless conditional语句,它完全等同于写作if !conditional

对我来说,这并没有增加任何表达能力,只是让遵循其他人的代码更加费力。有没有我错过的好处(除了迎合不同的口味,我觉得这没有说服力,因为人们通常不会因为某些句法关键字不符合他们的口味而拒绝一种语言)?

可能在每种语言中都有更多这样的例子。我只使用这个例子是因为我认为它特别缺乏合理的辩护。

0 投票
3 回答
1468 浏览

ruby - “在 Ruby 中,做同一件事的方法不止一种”——这是什么意思?

如果已讨论或非常明显,请随意删除此主题。我来自 C# 背景,我打算学习 Ruby。我读到的关于它的一切似乎都很有趣。但我对 Ruby 的基本理念感到困惑,即“做一件事有不止一种方法”。有人可以提供 2 或 3 个简单的算术或字符串示例来说明这一点,例如关于语法或逻辑等。

谢谢

0 投票
7 回答
4651 浏览

c# - 对 IEnumerable 中的先前值求和

我有一个数字序列:

我想将其转换为一个新序列,其中将数字添加到前面的数字以创建一个新序列:

我想出了以下内容,但我不喜欢状态变量“count”。我也不喜欢我使用 Enumerable 值而不对其采取行动的事实。

还能怎么做?

0 投票
3 回答
403 浏览

perl - 在 Perl 中声明包版本方法的优缺点是什么?

模块很酷,尤其是当它们带有版本控制时。您可以定义最小模块版本以防止您要使用的方法泄漏。但是每一个光明的一面都有一个黑暗的一面,这意味着 Perl 的 TIMTOWTDI。

作为一名 Perl 开发人员将近七年之后,我以多种方式看到并编写了版本声明。有些很容易被认为是坏的,有些则不是。由于没有人能完全了解一门语言,所以我想问你们,在 Perl 中进行以下软件版本控制的优缺点是什么。

如果您发现有一种泄漏,请不要犹豫,评论更多的版本定义方式;)

请尊重:

  • 奇怪的模块要求/使用可能会导致检测模块版本的问题(编译与运行时)
  • PAUSE/CPAN 解析(和其他常见服务)
  • 最终用户的可读性
  • 开发人员的可维护性

在 Perl 中声明包版本方法的优缺点是什么?

方法一

方法二

方法三

方法四

方法五

方法6

0 投票
1 回答
96 浏览

list - 如何在 Perl6 中获取由重复项组成的列表?

我尝试使用:(^10).map({0})生成一个包含 10 个“0”的列表。还有另一种方法吗?