基本语法

变量

name = "Alice"
age = 30
puts "Name: #{name}, Age: #{age}"
var  # 局部变量
@var # 实例变量
$var # 全局变量

数据类型

Ruby 支持多种数据类型,包括字符串、数字、数组、哈希等。

# 字符串
str = "Hello, Ruby!" # 数字
num = 42 # 数组
arr = [1, 2, 3, 4, 5] # 哈希
hash = {name: "Alice", age: 30}

条件语句

age = 18

if age < 18
puts "You are a minor."
elsif age >= 18 && age < 65
puts "You are an adult."
else
puts "You are a senior."
end

循环

# while 循环
i = 0
while i < 5
puts "i is #{i}"
i += 1
end # each 循环
arr = [1, 2, 3, 4, 5]
arr.each do |num|
puts num
end

方法

def greet(name)
return "Hello, #{name}!"
end puts greet("Alice")

类和对象

class Person
attr_accessor :name, :age def initialize(name, age)
@name = name
@age = age
end def introduce
"Hello, my name is #{@name} and I am #{@age} years old."
end
end person = Person.new("Alice", 30)
puts person.introduce

安装

macOS:

brew install ruby

Ubuntu:

sudo apt install ruby

运行

将你的 Ruby 代码保存到一个 .rb 文件中,例如 hello.rb。然后在终端中运行:

ruby hello.rb

包管理器 Gem

Gem 是 Ruby 编程语言的包管理工具,类似于 Python 的 pip 或者 JavaScript 的 npm。

基本命令

gem install <gem_name>   # 安装 Gem 包
gem list # 列出已安装的 Gem 包
gem search <gem_name> # 搜索 Gem 包
gem update <gem_name> # 更新 Gem 包
gem uninstall <gem_name> # 卸载 Gem 包
gem info <gem_name> # 查看 Gem 包信息

查看 Gem 包文档:

gem server

运行此命令后,打开浏览器并访问 http://localhost:8808,可以查看本地已安装 Gem 包的文档。

Bundler

在实际项目中,我们通常使用 Bundler 来管理 Gem 依赖项。Bundler 使用 Gemfile 文件来定义项目所需的 Gem 以及它们的版本。

安装 Bundler:

gem install bundler

在项目根目录下创建一个名为 Gemfile 的文件,内容如下:

source 'https://rubygems.org'

gem 'rails', '~> 6.1.0'
gem 'pg', '>= 0.18', '< 2.0'

安装 Gemfile 中指定的 Gem:

bundle install

更新 Gemfile 中指定的 Gem:

bundle update

版本管理器

Ruby 的主流版本管理器有 RVM 和 rbenv。我还没有遇到需要使用版本管理器的情况,因此这里留空。

Ruby 学习笔记的更多相关文章

  1. Ruby学习笔记4: 动态web app的建立

    Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...

  2. ruby学习笔记(1)-puts,p,print的区别

    ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将 ...

  3. ruby 学习笔记 1

    写ruby blog  系统的记录下.也是对我学ruby的点滴记录. 先介绍下我的学习环境.系统:ubuntu12.04文档:techotopia ,ruby文档,the hard way learn ...

  4. ruby学习笔记(2)-chomp,chop的区别

    还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...

  5. Ruby学习笔记0708

    #!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "Wo ...

  6. ruby 学习笔记 2 -变量

    变量 在ruby的世界里,变量有5种,全局变量 局部变量 实例变量 常量 类变量以及伪变量 常用的: 全局: 在全局使用,使用$开头,因为是全局的,所以在任何的代码例子中都可以改变其值,造成混乱,所以 ...

  7. Ruby学习笔记

    #!/usr/bin/ruby puts "Hello, Ruby, what is your name?" $name = STDIN.gets puts "Hi, I ...

  8. Ruby学习笔记(二)

    1.block 代码块 do...end 或 {} 构成一个代码块,就像常见的 .each后面跟的代码块. my_nums = [1,2,3] my_double_nums = my_nums.col ...

  9. Ruby学习笔记之升级ruby的版本

    升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 0x00 主机环境如下 [root@test ~]# cat /et ...

  10. Ruby学习笔记7: 添加身份验证(adding Authentication)

    我们已经完成了Category & Product页面内容的增删改查,再加入一个身份验证即可成为一个较完整的Rails App了.本文就来完成这个任务. We now need to give ...

随机推荐

  1. 使用Jest和React Test library 进行React单元测试

    React单元测试,就是把React 组件渲染出来,看看渲染出来的内容符不符合我们的预期.比如组件加载的时候有loading, 那就渲染组件,看看渲染出的内容中有没有loading. 再比如,ajax ...

  2. vulnhub - w1r3s.v1.0.1

    vulnhub - w1r3s.v1.0.1 高质量视频教程 - b站红队笔记 靶机下载 本地环境 本机ip:192.168.157.131 w1r3s虚拟机设置NAT模式 信息收集 扫描网段得到攻击 ...

  3. 2024 暑假友谊赛-热身1(7.11)zhaosang

    A-A https://vjudge.net/contest/639453#problem/A 为了解决这个问题,我们需要确定将墙上的所有数字转换为数字1的最小成本.将数字i转换成数字j的代价由矩阵c ...

  4. mysql 参数调优

    临时调整mysql内存,最好在项目开始的时候直接改配置不用临时设置 SET GLOBAL innodb_buffer_pool_size = 2147483648; 查询当前使用内存: SHOW VA ...

  5. Microsoft Dynamics CRM 插件被限制2分钟超时解决方案

    背景: 在隔离模式"沙箱"中运行的插件或自定义工作流活动将有2分钟的硬限制.如果你的插件很复杂,需要超过2分钟,有一些解决方法. CRM on premise (本地版) 选择插件 ...

  6. Dubbo日志链路追踪TraceId选型

    一.目的 开发排查系统问题用得最多的手段就是查看系统日志,但是在分布式环境下使用日志定位问题还是比较麻烦,需要借助 全链路追踪ID 把上下文串联起来,本文主要分享基于 Spring Boot + Du ...

  7. k8s(3) 集群运行

    Master下面执行 mkdir -p $HOME/.kube 执行的脚本,需要读取的配置文件 cp -i /etc/kubernetes/admin.conf $HOME/.kube/config ...

  8. 【ServerSentEvents】服务端单向消息推送

    依赖库: Springboot 不需要而外支持,WebMVC组件自带的类库 浏览器要检查内核是否支持EventSource库 Springboot搭建SSE服务: 这里封装一个服务Bean, 用于管理 ...

  9. 【ElasticSearch】02 查询操作

    准备样本: Elasticsearch 提供了基于 JSON 提供完整的查询 DSL 来定义查询 查询条件还适用于删除操作   创建索引: # PUT http://127.0.0.1:9200/st ...

  10. 基于MybatisPlus的简单分页查询和条件分页查询

    分页查询 分析: 分析文档要求 查看前端传递给后台的参数 分析参数进行编码 后台返回给前端的数据 思路 浏览器 - > Controller层 - > Service层 - > Ma ...