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 的语法简洁而强大,非常适合快速开发。

相关推荐
carver w几秒前
MFC,C++,海康SDK,回调,轮询
开发语言·c++·mfc
王廷胡_白嫖帝9 分钟前
Qt猜数字游戏项目开发教程 - 从零开始构建趣味小游戏
开发语言·qt·游戏
XH华12 分钟前
C语言第九章字符函数和字符串函数
c语言·开发语言
MonKingWD14 分钟前
MySQL事务篇-事务概念、并发事务问题、隔离级别
数据库·后端·mysql
华仔啊15 分钟前
别学23种了!Java项目中最常用的6个设计模式,附案例
java·后端·设计模式
一个会的不多的人17 分钟前
C# NX二次开发:操作按钮控件Button和标签控件Label详解
开发语言·c#
bobz96521 分钟前
openstack nova ironic 架构图以及流程
后端
咕白m62522 分钟前
C# 实现 PDF 转图片 - 分辨率设置、图片格式选择
后端·c#
Java水解30 分钟前
深入理解 SQL 中的 COALESCE、NULLIF 和 IFNULL 函数
后端·sql
PetterHillWater38 分钟前
开源知识库项目WeKnora技术拆解
后端·aigc