Ruby基础语法

Ruby 是一种动态、反射和面向对象的编程语言,它以其简洁的语法和强大的功能而受到许多开发者的喜爱。以下是 Ruby 语言的一些基本语法:

1. 打印输出

ruby 复制代码
puts "Hello, Ruby!"

变量赋值

ruby 复制代码
x = 10
name = "John"

2. 数据类型

Ruby 有多种基本数据类型,包括整数、浮点数、字符串、数组、哈希(Hash)和符号(Symbol)。

ruby 复制代码
number = 42          # 整数
float_number = 3.14   # 浮点数
greeting = "Hello"    # 字符串
names = ["John", "Jane", "Foo"]  # 数组
person = { name: "John", age: 30 }  # 哈希
id = :user_id          # 符号

3. 条件语句

ruby 复制代码
age = 20
if age > 18
  puts "You are an adult."
elsif age == 18
  puts "You are an adult."
else
  puts "You are a minor."
end

4. 循环

Ruby 中的循环包括 whileuntil 循环。

复制代码

ruby

ruby 复制代码
i = 0
while i < 5
  puts i
  i += 1
end

i = 0
until i >= 5
  puts i
  i += 1
end

5. 数组和迭代

ruby 复制代码
numbers = [1, 2, 3, 4, 5]
numbers.each do |number|
  puts number
end

6. 哈希(Hash)

ruby 复制代码
person = { name: "John", age: 30 }
puts person[:name]  # 输出 John

7. 方法定义

ruby 复制代码
def greet(name)
  puts "Hello, #{name}!"
end

greet("John")

8. 类和对象

ruby 复制代码
class Person
  attr_accessor :name, :age

  def initialize(name, age)
    @name = name
    @age = age
  end

  def greet
    puts "Hello, my name is #{@name} and I am #{@age} years old."
  end
end

person = Person.new("John", 30)
person.greet

9. 模块和混入

ruby 复制代码
module Greeting
  def say_hello
    puts "Hello, world!"
  end
end

class Person
  include Greeting
end

person = Person.new
person.say_hello

10. 块(Block)

ruby 复制代码
[1, 2, 3, 4].each { |number| puts number * 2 }

11. 文件操作

ruby 复制代码
File.open("file.txt", "r") do |file|
  while line = file.gets
    puts line
  end
end

Ruby 的语法简洁而强大,非常适合快速开发。

相关推荐
Yeauty14 小时前
渲染成图再 CLI 拼接,还是进程内直推?Rust 帧到视频的两条路
开发语言·rust·音视频
苏三说技术15 小时前
为什么越来越多人使用FastAPI?
后端
老孙讲技术15 小时前
业主半夜想看楼道监控,物业却说「去机房」?我用设备托管+轻应用,把小区摄像头嵌进了社区小程序
后端·物联网
geovindu15 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
二月龙15 小时前
什么是事务四大特性?用业务案例通俗讲透 ACID
后端
Slice_cy15 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(五)
前端·后端·架构
景同学15 小时前
把 AI 用到线上运维:可行、有效,前提是喂足信息——一次 Full GC 排障实录
java·人工智能·后端
库克克16 小时前
【C++】set 与multiset
开发语言·c++
Wang's Blog16 小时前
Go-Zero项目开发34: 微服务超时控制与重试机制实践
开发语言·微服务·golang·go-zero