1

一部の人は、私がすでに同じ面倒なコードで戻ってきたことに気付くかもしれません。回答を受け入れた後、他の質問がまだ開いているかどうかはわかりません。

今、問題は少し簡単です。パングラムをチェックするコードを見つけました。以前は def pangram?('sentence') だったのですが、そこに入る行が必要だったので def pangram?(行) に変えてみました。私のコーディングスタイルとうまく噛み合っていないようで、うまくいきません。.contain('a' . . 'z') を使用してパングラムをチェックしようとしましたが、知っている人がそれを試しましたが、うまくいきませんでした。また、グーグルもあまり役に立ちません。

if stmtでパングラムをチェックする方法についてのアイデアはありますか?

# To change this template, choose Tools | Templates
# and open the template in the editor
# This program reads a file line by line,
#separating lines by writing into certain text files.
#PPQ - Pangrams, Palindromes, and Quotes
class PPQ
  def pangram?(line)
    unused_letters = ('a'..'z').to_a - line.downcase.chars.to_a
    unused_letters.empty?
  end
  def categorize
    file_pangram = File.new('pangram.txt', 'w')
    file_palindrome = File.new('palindrome.txt', 'w')
    file_quotes = File.new('quotes.txt','w')
    File.open('ruby1.txt','r') do |file|
      while line = file.gets
        if(line.reverse == line)
          file_palindrome.write line
        elsif(pangram?(line)== true)
          file_pangram.write line
        else
          file_quotes.write line
        end
      end
    end
    file.close
    file_pangram.close
    file_palindrome.close
    file_quotes.close
   end
end
my_ruby_assignment = PPQ.new
my_ruby_assignment.categorize
4

1 に答える 1