each
フルスタック オンライン プログラム Bloc のメソッドとループについて学ぶ Ruby 初心者。この特定の問題については以前にここで話しましたが、その投稿とは異なるエラー メッセージが表示され、その理由がわかりません。
説明では、class StringModifier
「開始時に文字列を取得」し、インスタンス メソッドproclaim
は「文字列を個別の単語の配列に分割し、それぞれに感嘆符を追加してから、それらをスペースで結合して新しい文字列を返します。」
ArgumentError
wrong number of arguments (0 for 1)
irb でエラーが発生し続けます。引数を宣言していない場所がわかりません。string
それが変数の初期化ではないでしょうか。これは SO に関する私の最初の質問です。そのため、正しい方向への助けや指摘をいただければ幸いです。以下のコードと仕様スクリプト:
class StringModifier
attr_accessor :string
def initialize(string)
@string = string
end
def proclaim(string)
new_array = []
string.each do |x|
new_array << "#{x.split(' ').join('!')}"
end
new_array
end
end
仕様スクリプトは次のとおりです。
describe StringModifier do
describe "#proclaim" do
it "adds an exclamation mark after each word" do
blitzkrieg_bop = StringModifier.new("Hey ho let's go").proclaim
expect(blitzkrieg_bop).to eq("Hey! ho! let's! go!")
end
end