加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby类使用attr_accessor和initialize方法

发布时间:2020-12-17 02:36:44 所属栏目:百科 来源:网络整理
导读:努力在 Ruby中制作一个小命令行脚本 用户提供与餐馆相关的一些信息,以及 计算信息返回. 目前我有以下代码: class Restaurant attr_accessor :name :type :avg_price def initialize(name,type,avg_price) @name = name @type = type @avg_price = price end
努力在 Ruby中制作一个小命令行脚本
用户提供与餐馆相关的一些信息,以及
计算信息返回.

目前我有以下代码:

class Restaurant
 attr_accessor :name :type :avg_price
 def initialize(name,type,avg_price)
   @name = name
   @type = type
   @avg_price = price
 end
 end

问题1

如果我们使用attr_accessors方法来声明类型,价格和名称
为什么必须使用Initialize方法?这是因为我们需要设置
它的价值?

问题2

有一个名为RestaurantList的子类,后跟<代码中的数组.这是什么功能? 代码中没有定义Array类?它是一个名为Array的ruby内置类吗?如果是这样,它到底是做什么的?

解决方法

问题1

attr_accessor方法是声明在外部可访问的变量的捷径
在方法中阻止.

ruby中的初始化方法是有人初始化时调用的方法
那个类的东西,即chipotle = Restaurant.new’Chipotle’,’Mexican’,8.00

问题2

Array确实是Ruby内置的一个类(内置类通常称为Ruby标准库,有关Array类的MRI 1.9.3文档,请参阅here.您不需要执行任何类型的特殊继承.但是使用Array类.语言是在一个庄园中定义的,这样就不需要继承诸如字符串,散列,数组和其他常用类之类的东西.

也就是说,这些都可以超载.当你发现看起来像阵列但具有替代功能的那一天时,不要感到惊讶.

其他说明

当你接近Ruby编程时要记住的一件事是一切都是一个对象.您经常会听到这个,但是在您第一次潜水时很难理解但仍然很重要的是要记住所有内容都可以映射回Ruby中的Object类,有关Object类的文档,请参阅here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读