Ruby 来自用户输入的动态变量
我正在尝试获取用户的输入以创建新的Ruby 来自用户输入的动态变量,ruby,class,variables,Ruby,Class,Variables,我正在尝试获取用户的输入以创建新的user对象: class User attr_accessor :name attr_accessor :age attr_accessor :email end puts "Name:" input = gets.chomp.to_s name = "#{input} = User.new" puts "Age:" age = gets.chomp.to_s puts "Email:" email = gets.chomp.to_s na
user
对象:
class User
attr_accessor :name
attr_accessor :age
attr_accessor :email
end
puts "Name:"
input = gets.chomp.to_s
name = "#{input} = User.new"
puts "Age:"
age = gets.chomp.to_s
puts "Email:"
email = gets.chomp.to_s
name.name = "#{input}"
name.age = "#{age}"
name.email = "#{email}"
puts "Name: #{input.name}, Age: #{input.age}, E-mail: #{input.email}"
如何调用新创建的对象以便输入新属性?是否需要更改的名称
部分
name.name = "#{input}"
name.age = "#{age}"
name.email = "#{email}"
到用户的输入?在您的情况下,
input=gets.chomp.to_s
是一个字符串,字符串没有任何名称
,年龄
和电子邮件
方法。您应该创建一个新的用户
对象,然后用用户提供给您的信息填充它,您的代码离答案不远,但有很多小错误,以下是工作代码:
class User
attr_accessor :name
attr_accessor :age
attr_accessor :email
end
user = User.new
puts "Name:"
user.name = gets.chomp.to_s
puts "Age:"
user.age = gets.chomp.to_s
puts "Email:"
user.email = gets.chomp.to_s
puts "Name: #{user.name}, Age: #{user.age}, E-mail: #{user.email}"
我希望它能帮助你
顺便问一下,您想用这行代码实现什么:name=“#{input}=User.new”
?因为您只创建了一个内容为“User.new”的新字符串(作为字符串文本,Ruby不会以任何方式执行它),所以您永远不会通过在其声明周围加双引号(或单引号)来获得一个新对象