- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我一直在研究 Ruby Koans 并完成了 about_triangle_project.rb,您需要在其中编写方法 triangle 的代码。
可在此处找到这些项目的代码:
https://github.com/edgecase/ruby_koans/blob/master/koans/about_triangle_project.rb
https://github.com/edgecase/ruby_koans/blob/master/koans/triangle.rb
在 triangle.rb 中,我创建了以下方法:
def triangle(a, b, c)
if ((a == b) && (a == c) && (b == c))
return :equilateral
elsif ((a == b) || (a == c) || (b == c))
return :isosceles
else
return :scalene
end
end
我通过阅读 Chris Pine 的“学习编程”了解到做事情的方法总是不止一种。尽管上面的代码有效,但我还是忍不住认为有一种更优雅的方法可以做到这一点。是否有人愿意就如何使这种方法更高效、更紧凑提出他们的想法?
我很好奇的另一件事是,为什么在确定等边三角形时,我无法创建 (a == b == c) 的条件。它是等边三角形的证明,但 Ruby 讨厌这种语法。是否有关于这是为什么的简单解释?
最佳答案
原因很简单:
==
在 Ruby 中是一个运算符,它执行特定的功能。运算符有确定它们应用顺序的规则——因此,例如,a + 2 == 3
在相等性检查之前评估加法。但是一次只评估一个运算符(operator)。将两个相等性检查并排放置是没有意义的,因为相等性检查的计算结果为 true
或 false
。一些语言允许这样做,但它仍然不能正常工作,因为如果 a
和 b
那么你将评估 true == c
是相等的,这显然不是真的,即使 a == b == c 在数学上也是如此。
至于更优雅的解决方案:
case [a,b,c].uniq.size
when 1 then :equilateral
when 2 then :isosceles
else :scalene
end
或者,更简短(但可读性较差):
[:equilateral, :isosceles, :scalene].fetch([a,b,c].uniq.size - 1)
关于ruby - Ruby Koans 的 triangle.rb 更优雅的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742692/
我在通过 Greg Malcolm 的 Python Koans 的单例元组测试之一“test_tuples_of_one_look_peculiar”时遇到困难 ( https://github.c
我无法理解 Javascript koans 中的数组引用部分: it("should know array references", function () { var array = [ "z
我想把这两行代码合二为一。 for n in exceptions: my_dict[n] += 1 令我困扰的是,一个用于递增字典的小语句需要两行。我相信这个问题也困扰着某些人。 最佳答案
我正在浏览 Ruby Koans,我在 about_proxy_object_project.rb 中遇到了麻烦这是我的解决方案 class Proxy attr_reader :messages
我试图从 Ruby Koans 中理解一些东西。在一节课中,我们制作两个类如下: class CanNotBeTreatedAsString def to_s "non-string-li
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: obj.nil? vs. obj == nil 现在通过 ruby koans 工作,发现这个评论嵌入在
我正在研究 Ruby Koans,我在弄清楚我编写的方法出了什么问题时遇到了一些麻烦。我在about_scoring_project.rb中,写了骰子游戏的计分方法: def score(dice)
我有机会在 StackOverflow 中四处看看,发现了我试图从 Ruby Koans (Ruby Koans: explicit scoping on a class definition par
谁有zip的链接? github 存储库似乎已关闭:https://github.com/neo/ruby_koans/blob/master/download/rubykoans.zip?raw=t
可能是一个业余爱好者的标志,我想知道问题是不是公案(而不是我),但是,考虑一下这个公案 def test_calling_global_methods_without_parentheses
我正在通过 Clojure Koans 工作,我正在处理递归 koans。 不明白怎么解决is-even?使用递归。练习部分地将此功能定义为: (defn is-even? [n] (if (
我正在学习 clojure 并通过 clojure-koan练习。其中一个练习是关于implementing a factorial function .在玩的过程中,我发现: 我的递归实现似乎适用于
我正在研究 clojure koans,函数中的一个问题需要进一步解释,以便我“明白”并有一个顿悟时刻。我能够编写满足问题的函数。但我不完全理解为什么所有这些都有效。 Clojure> (= 25 (
在研究Kotlin Koans in IDEA时,我摆弄了一下,我想调试我的代码。 如何在调试器下运行koan任务? 失败了,我至少在哪里可以看到我的代码中println的输出? 最佳答案 您可以创建
这几天通过做Python Koans来学习Python,遇到了Python中引发异常的问题。具体来说,在看完公案之后,我什至对 try... except... 感到困惑。我知道鲁迪·科恩 (Rudy
我一直在研究 Ruby Koans,但我已经到了我不太了解的部分。具体来说,就是about_dice_project,他们要求我们定义一个类来通过几个预先设定的测试。本来,我的类(class)看起来像
这个问题可能很愚蠢/n00bish/不合适/本地化/闪闪发光的蛋糕,所以只要我得到答案,你就可以投反对票,因为我非常希望能够通过 koans。 :) 我正在尝试获取 this上类。 (GitHub 是
我在 Ruby Koans 中遇到以下错误: AboutHashes#test_accessing_hashes_with_fetch 破坏了你的业力。 大师说: 你还没有达到开悟。 我感到沮丧。不要
你能帮我重构我为 Ruby Koans #182 提出的解决方案吗?这是您在其中编写得分方法来计算贪婪游戏分数的公案。以下代码有效,所有测试均通过。 但是,它感觉又长又不像 ruby 。我怎样才能让它
我是一名优秀的程序员,十分优秀!