【发布时间】:2015-01-30 17:55:43
【问题描述】:
我在这里有一段 Ruby 代码我想翻译成 Javascript,但我对这个过程不太熟悉,因为我还在学习。谁能翻译一下这个例子,对我的学习有很大帮助,谢谢!
class TestFunky < MiniTest::Test
def setup
@funky = Funky.new
end
def test_adds_when_you_input_a_plus_5_6_plus
assert_equal 11, @funky.push(5).push(6).push(:+)
end
def test_adds_when_you_input_a_plus_6_6_plus
assert_equal 12, @funky.push(6).push(6).push(:+)
end
还有一个
class NumberArray < Array
def sum_or_multiply(operator)
self.inject(operator)
end
def push(number)
raise TypeError unless number.is_a? (Numeric)
super
end
end
class Funky
def initialize
@numbers = NumberArray.new
end
def push(something)
if operator?(something)
process_operator(something)
else
store(something)
self
end
end
【问题讨论】:
-
这有点棘手,因为 javascript 实际上使用函数来定义类。 javascript 中可能没有任何带有
MiniTest::Test的库。你可以尝试在这里查看一些东西developer.mozilla.org/en-US/docs/Web/JavaScript/… -
@locoboy 不要太担心那部分,它的习惯,我只是想大致了解差异,所以我有一个指导方针。
-
那么你到底想在这里评估什么?
-
你能给出更具体的东西吗?如果你不关心继承,那么你应该把它拿出来。有些事情不符合您的目的,并希望确保您得到您正在寻找的东西。
-
要在任意两种语言之间进行翻译,您需要能够同时编写这两种语言。所以简短的回答是:学习编写 Javascript。
标签: javascript ruby-on-rails ruby