2

私は 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 を学ぶためのホーム ストレッチを実行しようとしています!

4

1 に答える 1