Ruby 教程 之 Ruby 面向对象 6

简介: Ruby 面向对象

Ruby 教程 之 Ruby 面向对象 6

Ruby 面向对象

Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。本章将向您讲解所有与 Ruby 面向对象相关的主要功能。

类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包。类中的数据和方法被称为类的成员。

to_s 方法

您定义的任何类都有一个 to_s 实例方法来返回对象的字符串表示形式。下面是一个简单的实例,根据 width 和 height 表示 Box 对象:

实例

!/usr/bin/ruby -w

class Box

构造器方法

def initialize(w,h)
@width, @height = w, h
end

定义 to_s 方法

def to_s
"(w:#@width,h:#@height)" # 对象的字符串格式
end
end

创建对象

box = Box.new(10, 20)

自动调用 to_s 方法

puts "String representation of box is : #{box}"

尝试一下 »
当上面的代码执行时,它会产生以下结果:

String representation of box is : (w:10,h:20)

目录
相关文章
|
存储 网络安全 文件存储
内网穿透:实现公网访问内网群晖NAS的方法
内网穿透:实现公网访问内网群晖NAS的方法
|
数据采集 存储 JSON
基于qwen2.5开源大模型 处理 环境、社会及治理 相关资料
基于Qwen-2.5开源大模型,本方案旨在处理环境、社会及治理(ESG)相关资料,涵盖数据分析、决策辅助和报告生成等任务。方案详细描述了从数据准备、模型功能设计到部署优化的全过程,并列举了多种应用场景,如企业合规审查、投资评估支持等,旨在为企业、机构和研究者提供全面的ESG资料处理解决方案。
571 0
|
10月前
|
人工智能 Cloud Native 安全
解锁 DeepSeek 安全接入、稳定运行新路径
解锁 DeepSeek 安全接入、稳定运行新路径
|
11月前
|
人工智能 算法 UED
《鸿蒙Next人工智能翻译:模型轻量化的用户体验变革》
在鸿蒙Next生态中,人工智能翻译应用的模型轻量化正悄然变革用户体验。它通过提升响应速度、降低资源占用、节省能耗、提高多设备适配性和便于更新迭代,使翻译服务更高效流畅。轻量化模型减少了不必要的参数和计算量,实现即时反馈,保障系统稳定运行,延长设备续航时间,并确保多设备体验一致,为用户带来更加便捷、优质的跨语言交流体验。
266 3
|
应用服务中间件 Linux nginx
【Nginx 第二篇章】windwos、linux、docker-compose 安装 NGINX
在一节中,我们介绍了如何在Windows环境下安装Nginx,包括从官网下载稳定版压缩包、解压并直接运行`nginx.exe`启动服务,最后通过浏览器访问`http://localhost/`验证安装。第二节覆盖了Linux环境下的安装流程,首先安装必要依赖,接着利用包管理器安装Nginx,并通过`systemctl`或`service`命令启动,同样通过浏览器确认安装成功。第三节则展示了如何使用`docker-compose`轻松部署Nginx,通过编写`docker-compose.yml`文件定义服务和配置映射,最后执行`docker-compose up -d`后台启动容器。
278 0
|
存储 弹性计算 运维
如何正确选择多云架构?
多云是指企业使用两个或更多的公有云 IaaS 供应商。广义来看,混合云也在其范畴。
1114 1
如何正确选择多云架构?
|
SQL 人工智能 前端开发
前端问题之前端在AIGC领域可以承担哪些工作
前端在AIGC领域可以承担哪些工作
350 0
|
机器学习/深度学习 算法 TensorFlow
面向计算机视觉的深度学习:1~5(4)
面向计算机视觉的深度学习:1~5(4
185 0
|
JavaScript
JS设置select下拉框默认选中
JS设置select下拉框默认选中
401 0
|
架构师 安全 区块链
带你读《自主管理身份:分布式数字身份和可验证凭证》——第5章 SSI架构:大局观(1)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第5章 SSI架构:大局观(1)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第5章 SSI架构:大局观(1)