花二十分钟教你Ruby快速入门

ruby入门教程 - 摘要 本章节中我们了解了在 Ruby 中一共有 4 种变量:局部变量、实例变量、类变量、全局变量,他们的作用范围分别方法、对象、类、全局。本章中我们学习了如何创建一个 Ruby 的类,如何定义一个类、创建一个实例、定义实例方法、初始化对象、使用实例变量记录、初始化属性、属性读取器、属性设置器、对象作用域以及了解了 self 的含义。本章节我们学习了整型、有理数、浮点数、小数,知道了浮点数在 Ruby 中是不准确的,而小数是准确的,了解了常用的数字对象实例方法,例如如何运算、比较、类型转换等等。 阅读详情
导读:

   摘要:

  这是一个短小的Ruby入门,完全读完只需20分钟。让我们从编写世界上最简单的"Hello,World"程序开始逐步深入了解Ruby的类、block、迭代器等特征,也许这对你来讲还远远不过,但对于20分钟的入门来讲已经非常难得了。

   介绍

  这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby官方网站进行下载并安装。

   交互式的Ruby

  打开IRB(交互式Ruby外壳):

  如果你使用Mac OSX,那么请打开终端窗口输入irb;

  如果你使用Linux,那么请打开shell输入irb;

  如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行它。

  

  

  Ok,在打开IRB之后,在其中输入"Hello World"。

  

   Ruby听从你的安排!

  发生了什么?我们刚才编写了世界上最短小的“Hello World”程序吗?这么说不太确切。第二行输出是IRB告诉我们:上一个表达式的评估结果。如果我们希望打印出“Hello World”,那么就还需要一点努力:

  

  

  puts在Ruby中是一个简单的打印输出命令。后面的“=> nil”表示什么?——那是表达式的结果。Puts总是返回nil,这是Ruby中表示“绝对无值”(absolutely-positively-nothing value)的方式,看上去有些类似Java中的null。

   你的免费计算器在这里!

  无需做什么,我们就能把IRB作为一个简单的计算器使用:

  这样就能计算3+2。够简单的!那么3乘以2如何?你可以在下面继续输入3*2,也可以回到上面(3+2处)重新修改你刚刚输入的计算公式。使用键盘上的向上键,使光标到达3+2那一行,再用左键移动光标到加号上,然后使用空格键进行修改。

  

  下面,让我们尝试计算3的平方:

  

  

  在Ruby语言中,**表示幂运算。那么如何计算平方根呢?

  

  Ok,等一下,表达式中的sqrt(9)表示什么?你一定能猜到这是计算9的平方根。而Math表示什么?不要着急,下面就让我们进一步了解像Math这样的模块。

   模块——按照主题分组的代码

  Math是Ruby内建的数学模块。在Ruby中,模块提供了两种角色:一种角色是将类似的方法聚集在同一个“家族”名下。因此,Math也包括sin、tan这样的方法。第二种角色是一个圆点(dot),它标记了消息的接收者。什么是消息?在上面的例子中,sqrt(9)便是消息,它意味着调用sqrt方法取出9的平方根。

  Sqrt方法调用的结果是3.0。你可能注意到它并不是3。这是因为多数情况下,数字的平方根并不是整数,所以这里返回了一个浮点数。

  那么我们如何记住这些计算结果呢?——将结果赋值给变量。

  

   如何定义方法?

  如何才能方便省事地随意输出字符串,而无需过多地劳烦我们的手指呢?——我们需要定义一个方法!

  

  上面的代码中第一行“def h”标志着方法定义的开始。它告诉Ruby我们正在定义一个名为h的方法。下面一行是方法体:puts "Hello World"。最后,也就是第三行“end”通知Ruby我们完成了方法定义。Ruby的回应“=> nil”告诉我们它已经知道我们定义了此方法。

   简短、重复地调用方法

  现在,让我们尝试多次执行这个方法:

  

  

  哈,这太容易了。在Ruby中调用某个方法只需将方法名提交给Ruby。当然,这是在方法没有参数的情况下。如果你愿意也可以添加一个空白的括号,但是这没有必要。

  如果我们想对某个人说hello而不是整个“世界”(world),那该怎么做?——重定义h方法使它接收name参数。

  

  嗯,现在看来工作正常。

   字符串中的奥秘

  “#{name}”是什么意思?这是Ruby在某个字符串中插入其它字符的方式。在大括号之间放入的字符串(这里是指name)将被外部的字符串代替。你也可以使用字符串类内建的capitalize方法来确保某人名字的首字母大写:

  



本文转自

http://www.rorchina.net/?viewnews-840.htm.htm
Pact契约测试性能优化:从18分钟到6分钟的全链路调优实践 契约测试作为微服务架构中的关键实践,通过定义服务间的交互契约,确保API的兼容性与稳定性。其核心原理是消费者驱动,即由消费者端定义期望,提供者端验证实现,从而在独立部署的服务间建立可靠的质量关卡。这项技术的核心价值在于能提前发现集成问题,降低联调成本,提升交付信心。在持续集成流水线中,契约测试常被应用于接口变更验证和版本发布前的兼容性检查。然而,随着契约数量增长,测试执行时间可能成为流水线瓶颈,影响开发效率。本文聚焦于Pact这一主流契约测试框架,针对Ruby技术栈,深入剖析其性能瓶颈,并提供一套从应用实例 阅读详情

相关推荐

BUUCTF--[OGeek2019]babyrop

才学习了基本的ROP流程,到处找题练,不过也没做出来几道题,以这道32位的题作为例题吧。 这道题是BUUCTF上pwn练习题里的[OGeek2019]babyrop。 代码审计 老规矩先checksec一下: 没有canary保护,nx保护开启排除shellcode可能性,FULL RELEO为地址随机化。 观察主函数,先设定了一个闹铃,到时间就会强制退出程序,解除闹铃的方法在上一篇博客中提到过了, 这道题中闹铃函数依然对我们解题起不到什么干扰作用。 主函数的思路大概是:生成一个随机数,把这个随机数作为

N1rvana的博客 6009

Ruby三分钟快速入门

Ruby基础

yzs2022的博客 769

STM32F407单一定时器输出4路不同频率及占空比的PWM波

STM32F407单一定时器输出4路不同频率及占空比的PWM波

qq_43868701的博客 4919

Ruby快速入门(30分钟)

在本教程中,将探讨使用Ruby开始编程所需的基本语法,以及如何在30分钟内学习并使用Ruby编程语言。注:如果您还尚未安装Ruby开发环境,请访问环境设置页面并按照说明安装: http://www.yiibai.com/ruby/ruby-installation.html , Ruby历史Ruby被许多人认为是一种“新”编程语言,但实际上是由一个叫作Matz的开发人员于1994年发布的。

编程工作室 3万+

组态王7.5和SQLsever数据库交互

摘要:本文详细介绍了组态王7.5与SQL Server 2016数据库交互的实现流程,包括建立连接、数据存储与查询操作。主要内容涵盖ODBC数据源配置、数据库表格创建、数据插入及查询功能实现(含日期控件查询)

gsjkwg的博客 1582

【低空经济】无人机充电站设计方案

随着无人机技术的快速发展和广泛应用,其在物流、农业、巡检、救援等领域的应用日益普及。然而,无人机的续航能力一直是限制其大规模应用的关键因素之一。为了解决这一问题,无人机充电站的设计与建设显得尤为重要。本项目旨在设计一套高效、智能、可扩展的无人机充电站系统,以满足不同场景下无人机的充电需求,提升其作业效率和应用范围。无人机充电站的设计将围绕以下几个核心目标展开:首先,充电站应具备快速充电能力,以减少无人机的停机时间,提高作业效率;

2960

ruby入门之基本语法

1.Ruby介绍 是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 2.ruby 语法 1.helloWord!输出 puts "hello,word!" 输出: hello,word! 2.方法 实例方法需要实例化 静态方法必须通过类名调用 cclass Player attr_accessor :name,:ag...

qq_42922647的博客 1587

用STM32F407做个USB声卡:从CubeMX配置到播放录音全功能实战(附源码)

本文详细介绍了如何使用STM32F407开发板实现USB音频设备的全功能实战,包括CubeMX配置、硬件连接、音频流处理和性能优化。通过双缓冲DMA机制和音频数据处理流程,开发者可以构建高质量的USB声卡系统,适用于录音和播放场景。附源码,助力快速上手STM32音频开发。

weixin_30301449的博客 516

Ruby 从入门到进阶:知识点详解与实践指南

Ruby 是一种强大且灵活的编程语言,广泛应用于 Web 开发、脚本编写和系统管理。通过本文的介绍,读者可以快速掌握 Ruby 的基础语法、核心特性、Ruby on Rails 框架的使用方法以及开发中的最佳实践。希望这些内容能帮助你在 Ruby 的学习和开发中取得成功。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 2340

手把手教你用SlowFast训练自定义手势识别数据集(附FFmpeg抽帧技巧)

本文提供了一份基于SlowFast架构训练自定义手势识别数据集的完整实战指南。文章重点剖析了数据准备的核心挑战,详细讲解了利用FFmpeg进行高、低帧率抽帧的技巧,并介绍了构建半自动标注流水线、生成符合SlowFast要求的AVA格式数据集文件的具体方法。最后,针对手势识别场景,给出了关键的模型训练配置与调优建议,帮助开发者高效完成从数据到模型的全流程。

s1t2u3的博客 909

我终于停止写 JUnit 了!用 JavaParser + GPT-4 自动生成 90% 覆盖率的单元测试

本文介绍了一种基于JavaParser和GPT-4的智能单元测试生成方案。针对开发者在单元测试编写中面临的繁琐、无聊和硬指标等问题,提出通过AST语法树分析代码结构,提取关键信息后生成精准提示词,再调用GPT-4自动生成高质量的单元测试代码。文章详细阐述了技术原理、实现步骤(包括JavaParser解析、上下文感知提示词构建和GPT-4调用),并展示了该方法能自动识别依赖、Mock对象和覆盖边界条件,显著提升测试效率。同时指出了在复杂数据结构、私有方法测试等方面的局限性,最终强调这种技术组合可以解放开发者,

BUG猿的博客 1130

二十分钟Ruby入门

注:此文来自http://www.ruby-lang.org/zh_cn/documentation/即,ruby官方网站。本人感觉很棒,特转到此,版权完全属于员个人或团体。 介绍        这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ru

IT人生 1206

Apollo Planning决策规划算法代码详细解析 (1):Scenario选择

本文重点讲解Apollo代码中怎样配置Scenario以及选择当前Scenario,Scenario决策是Apollo规划算法的第一步,本文会对代码进行详细解析,也会梳理整个决策流程,码字不易,喜欢的朋友们麻烦点个关注与赞。 在本文你将学到下面这些内容: 规划器planer的种类; 规划器planer的主要函数及逻辑; 场景管理类ScenarioManager的运行机制; 场景注册方法; 场景决策流程,如何选择当前场景 详细的apollo决策规划代码分析 代码具体过程如下: 1、Scenar

自动驾驶Player的博客 1万+

二十分鐘 Ruby 體驗(转载)

转载自:http://www.ruby-lang.org/zh_TW/documentation/quickstart/ (开个新坑,如无意外,现在到明年7月入职,会一直更新Ruby文章) 簡介 這是一個簡短的 Ruby 入門體驗,應該可以在二十分鐘內完成。您必須先安裝好 Ruby (如果還沒有,請先下載安裝) 互動式 Ruby Ruby 附帶了一支程式可以讓你即

学海无涯 苦写博客 1273

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

学习 ruby

二十分钟 教你Ruby快速入门 Ruby 入门 Ruby语言入门教程v1.0.pdf Eclipse 集成 Ruby RDT Aptana 网站 RDT (ruby development tools) Eclipse Plug-in Installation

pandoraliu的专栏 513

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Ruby on rails 实战圣经:Ruby程序语言入门

Actually, I’mtrying to make Ruby natural, not simple. Ruby is simple in appearance, but isvery complex inside, just like our human body. - Matz, Ruby 发明人 Ruby是个美丽、灵巧而且方便又实用的程序语言,而Ruby on Rails正是 R

289

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Ruby程序语言入门

原文:http://ihower.tw/rails3/ruby.html Ruby程序语言入门

blinwen的专栏 1094

ruby on rails_从Ruby on Rails开始

ruby on rails I recently rediscovered rails when I needed a holiday project and decided to build a management dashboard for the company where I work. With it being a project done ...

cunchi8090的博客 161

程序员的价值

程序员的价值1、对本门语言的资深程度2、语言的发展程度3、周围从事这一行业的人员密度。对于javaer来说,java的王者地位依然保持着。但我们发现周围的javaer越来越多,我们会发现动辄上万的薪金对于javaer来说,已经遥不可及。java的辉煌造就了很多人,但是程序员要想让自己变的更有价值,是时候考虑change mind了。新兴的语言可以让我们有更多的机会,因为懂的人越少越有潜力。所以要适...

wangrusheng5200 166

如何开始rails项目

如何开始rails项目 为了能胜任ruby项目的开发工作,你需要逐步掌握以下技能 1.安装操作系统(Linux) 经过实践,rails项目可以顺利在windows、linux(Ubuntu)、unix(solaris)下运行 但推荐使用的平台仍是Linux,所以你至少需要熟悉以下内容 安装 我们开发环境使用的是Ubuntu,安装后请阅读速配指南了解ubuntu的基本配置...

wangqun111的博客 159

【SD2.0大会】讲师范路:我技术不行,用RoR搭建一个网站用两天

中国最大的IT技术社区 优快云联合美国权威IT技术媒体CMP集团, 共同为中国百万开发者带来的国内最权威的顶级软件技术大会---- “2007 软件开发2.0技术大会”(SD2C)在九华山庄揭开帷幕。大会进入下午的分会场。在113会议室,CodeGear公司技术布道者范路(Product Evangelist, China Mainland CodeGear)讲授主题为“2.0时代软件开发新方法

phphot 2136

opencode.nvim 测试体系:JSON 快照回放如何让 AI 对话渲染可复现

🧪 对 opencode.nvim 这样的 Neovim 插件来说,AI 对话面板的渲染是最难稳定测试的部分:流式消息、Markdown 高亮、代码折叠、权限提示……每一次渲染都依赖事件顺序和时间。opencode.nvim 的测试体系用「JSON 快照回放」解决了这个问题——把真实的 AI 会话事件录制成 JSON,再在测试里逐帧重放,与期望的渲染快照精确比对,让 AI 对话渲染变得可复现、可

gitblog_00123的博客 425

『phphot』【SD2.0大会】讲师范路:我技术不行,用RoR搭建一个网站用两天

原文链接:http://blog.youkuaiyun.com/phphot/archive/2007/11/30/1908937.aspx作者:phphot(phphot) http://blog.youkuaiyun.com/phphot中国最大的IT技术社区 优快云联合美国权威IT技术媒体CMP集团, 共同为中国百万开发者带来的国内最权威的顶级软件技术大会---- “2007 软件开发2.0技术大会”(SD2C)在九华山庄揭开帷幕。大会进入下午的分会场。在113会议室,CodeGear公司技术布道者范路(Product E

SD2C 软件开发2.0技术大会 998
上一篇: Draw2D 绘图-- 自定义图型
下一篇: 关于Eclipse中UI程序的线程的讨论
wangwhcore
博客等级 码龄19年 7粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值