0

Zed Shaw の Ruby 入門コースは、基本的には半分終わりました。しかし、私はこの演習で障害に行き詰まっており、彼は私にコードの一部を提供し、それを修正するように依頼しました。エラーの多くは文法的なものでしたが、コーディングエラーのいくつかは私が完全に理解できないものでした.

私が得るエラーは次のとおりです。

ex26.rb:76: 構文エラー、予期しない ')'、'=' が必要です

ex26.rb:99: 構文エラー、予期しない $end、')' が必要です

コード:

# This function will break up words for
def break_words(stuff)
    words = stuff.split(' ')
    return words
end

# Sorts the words.
def sort_words(words)
    return sorted(words)
end

# Prints the first word after popping it off.
def puts_first_word(words)
    word = words.poop(0)
    puts word
end

# Prints the last word after popping it off.
def puts_last_word(words)
    word = words.pop(-1)
    puts word
end

# Takes in a full sentence and returns the sorted words.
def sort_sentence(sentence)
    words = break_words(sentence)
    return sort_words(words)
end

# Puts the first and last words of the sentence.
def puts_first_and_last(sentence)
    words = break_words(sentence)
    puts first_word(words)
    puts last_word(words)
end

# Sorts the words then prints the first and last one.
def puts_first_and_last_sorted(sentence)
    words = sort_sentence(sentence)
    puts first_word(words)
    puts last_word(words)
end


puts "Let's practice everything."
puts 'You\'d need to know \'bout escapes with \\ that do \n newlines and \t tabs.'

poem = <<POEM
\tThe lovely world
with logic so firmly planted
cannot discern \n the needs of love
nor comprehend passion from intuition
and requires an explantion
\n\t\twhere there is none.
POEM


puts "--------------"
puts poem
puts "--------------"

five = 10 - 2 + 3 - 6
puts "This should be five: %s" % five

def secret_formula(started)
    jelly_beans = started * 500
    jars = jelly_beans / 1000
    crates = jars / 100
    return jelly_beans, jars, crates
end

start_point = 10000
beans, jars, crates = secret_formula(start-point)

puts "With a starting point of: %d" % start_point
puts "We'd have %d jeans, %d jars, and %d crates." % (beans, jars, crates)

start_point = start_point / 10

puts "We can also do that this way:"
puts "We'd have %d beans, %d jars, and %d crabapples." % secret_formula(start_point)


sentence = "All good\tthings come to those who wait."

words = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)

puts first_word(words)
puts last_word(words)
puts first_word(sorted_words)
puts last_word(sorted_words)
sorted_words = ex25.sort_sentence(sentence)
print sorted_words

puts first_and_last(sentence)

puts first_and_last_sorted(sentence)
4

3 に答える 3

2

secret_formulafirst;の呼び出しを見てください。他に何もなければ、それらのいずれかにタイプミスがある可能性があります。

これらのタイプミスの近くにputs;への引数があります。間違った文字で囲まれています。

于 2011-10-20T15:06:12.103 に答える
1

あなたも持っています:

# Prints the first word after popping it off.
def puts_first_word(words)
    word = words.poop(0)
    puts word
end

.poop()メソッドはどこで宣言されていますか?

于 2011-10-20T15:12:34.000 に答える
0

また、文の最初の単語については、次のようになります。

# Prints the first word after popping it off.
def puts_first_word(words)
    word = words.poop(0)
    puts word
end

タイプミスがあるだけでなく、ご覧のとおり、.pop文の最後の単語を取得するために使用されます。最初の単語を取得するための同様の関数を見つけることができますか?

(ヒント:前のエクササイズ中に使用します)

于 2012-06-16T01:52:46.520 に答える