/ रूबी में रूज buzz कोड में uncaught वाक्यविन्यास त्रुटि - ruby, rspec

रूबी - रूबी, आरएसपीईसी में फिज बज़ कोड में अनकॉट सिंटैक्स त्रुटि

मेरी वाक्यविन्यास त्रुटि को समझ नहीं सकता। मेरे पढ़ने से यह एक अंतिम खोजशब्द की उम्मीद कर रहा है?

मैंने rspec फ़ाइल को शामिल किया है जो त्रुटि कोड और कोड के अतिरिक्त मेरे कोड का परीक्षण कर रहा है। धन्यवाद और सभी जो मदद करते हैं!

def fizzbuzz(int)
if int % 3 == 0;
puts "Fizz";
if int % 5 == 0;
puts "Buzz";
if int % 3 && 5 == 0;
puts "FizzBuzz";
end

आरएसपीईसी फ़ाइल:

require_relative "./spec_helper.rb"

describe "fizzbuzz" do
it "returns "Fizz" when the number is divisible by 3" do
fizz_3 = fizzbuzz(3)

expect(fizz_3).to eq("Fizz")
end
it "returns "Buzz" when the number is divisible by 5" do
fizz_5 = fizzbuzz(5)

expect(fizz_5).to eq("Buzz")
end
it "returns "FizzBuzz" when the number is divisible by 3 and 5" do
fizz_15 = fizzbuzz(15)

expect(fizz_15).to eq("FizzBuzz")
end
it "returns nil when the number is not divisible by 3 or 5" do
fizz_4 = fizzbuzz(4)

expect(fizz_4).to eq(nil)
end
end

त्रुटि:

/Users/user/Development/code/rspec-fizzbuzz-001-prework-web/spec/spec_helper.rb:8:in `require_relative": /Users/user/Development/code/rspec-fizzbuzz-001-prework-web/fizzbuzz.rb:8: syntax error, unexpected end-of-input, expecting keyword_end (SyntaxError)
from /Users/user/Development/code/rspec-fizzbuzz-001-prework-web/spec/spec_helper.rb:8:in `<top (required)>"
from /Users/user/Development/code/rspec-fizzbuzz-001-prework-web/spec/fizzbuzz_spec.rb:1:in `require_relative"
from /Users/user/Development/code/rspec-fizzbuzz-001-prework-web/spec/fizzbuzz_spec.rb:1:in `<top (required)>"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1361:in `load"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1361:in `block in load_spec_files"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1359:in `each"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1359:in `load_spec_files"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:102:in `setup"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:88:in `run"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:73:in `run"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:41:in `invoke"
from /Users/user/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.1/exe/rspec:4:in `<top (required)>"
from /Users/user/.rvm/gems/ruby-2.2.1/bin/rspec:23:in `load"
from /Users/user/.rvm/gems/ruby-2.2.1/bin/rspec:23:in `<main>"
from /Users/user/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval"
from /Users/user/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>"

उत्तर:

जवाब के लिए 0 № 1

आपको अपने बयान को समाप्त करने की आवश्यकता है, इससे समस्या ठीक होनी चाहिए:

def fizzbuzz(int)
if int % 3 == 0
puts "Fizz"
end
if int % 5 == 0
puts "Buzz"
end
if (int % 3 == 0) && (int % 5 == 0)
puts "FizzBuzz"
end
end

जवाब के लिए 0 № 2

आप इस तरह कुछ चाहते हैं:

def fizzbuzz(int)
if int % 3 == 0 && int % 5 == 0
puts "FizzBuzz"
elsif int % 3 == 0
puts "Fizz"
elsif int % 5 == 0
puts "Buzz"
end
end

यह केवल "FizzBuzz" आउटपुट करेगा यदि यह केवल 3 के गुणकों के लिए "Fizz" और केवल 5 के गुणकों के लिए "बज़" का एक बहुमत होगा।