我想知道为什么当我试图获得不同的输入时它忽略了我的第二个输入.
#!/usr/bin/env ruby
#-----Class Definitions----
class Animal
attr_accessor :type, :weight
end
class Dog < Animal
attr_accessor :name
def speak
puts "Woof!"
end
end
#-------------------------------
puts
puts "Hello World!"
puts
new_dog = Dog.new
print "What is the dog's new name? "
name = gets
puts
print "Would you like #{name} to speak? (y or n) "
speak_or_no = gets
while speak_or_no == 'y'
puts
puts new_dog.speak
puts
puts "Would you like #{name} to speak again? (y or n) "
speak_or_no = …Run Code Online (Sandbox Code Playgroud) 我目前正在学习Ruby,除了一个小字符串比较问题外,我正在享受所有的一切.
answer = gets()
if (answer == "M")
print("Please enter how many numbers you'd like to multiply: ")
elsif (answer. == "A")
print("Please enter how many numbers you'd like to sum: ")
else
print("Invalid answer.")
print("\n")
return 0
end
Run Code Online (Sandbox Code Playgroud)
我正在做的是我正在使用gets()来测试用户是想要将它们的输入相乘还是添加它(我已经测试了两个函数;它们都可以工作),我后来得到了一些更多的输入函数和浮点转换(这也有效).
会发生什么事情,我输入A,然后我得到"无效答案."M也是如此.
这里发生了什么?(我也使用了.eql?(sp),它也返回了bubcus)