私は Ruby を学ぼうと努力しており、Zed Shaw による Learn Ruby the Hard Way のほとんどを完了しましたが、この最新の演習では完全に困惑しています。これは一種の逆の演習であり、提供されたコードでテストできるクラス Lexicon を作成します。
Lexicon を作成して、ユーザー入力を処理し、そこからさまざまなデータを取得できるようにする必要があります。これまでのところ、方向入力をテストするために持っているのは、たとえば次のとおりです。
class Lexicon
Pair = Struct.new(:qualifier, :value)
userinput = gets.chomp()
userwords = userinput.split()
for i in userwords
if userwords[i].include?("north", "south", "east", "west")
directions = Pair.new("direction", userwords[i])
else
i++
end
end
end
対応するテスト コードは次のとおりです。
require 'test/unit'
require_relative "../lib/lexicon"
class LexiconTests < Test::Unit::TestCase
Pair = Lexicon::Pair
@@lexicon = Lexicon.new()
def test_directions()
assert_equal([Pair.new(:direction, 'north')], @@lexicon.scan("north"))
result = @@lexicon.scan("north south east")
assert_equal(result, [Pair.new(:direction, 'north'),
Pair.new(:direction, 'south'),
Pair.new(:direction, 'east')])
end
助けてくれてありがとう。私はおそらくかなり離れていることを知っていますが、Ruby the Hard Way を学ぶためのホーム ストレッチを実行しようとしています!