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

相关推荐
Fairy要carry2 分钟前
面试-GRPO强化学习
开发语言·人工智能
爬山算法6 分钟前
Hibernate(88)如何在负载测试中使用Hibernate?
java·后端·hibernate
Liekkas Kono14 分钟前
RapidOCR Python 贡献指南
开发语言·python·rapidocr
张张努力变强21 分钟前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
xyq202423 分钟前
Matplotlib 绘图线
开发语言
独断万古他化25 分钟前
【Spring 原理】Bean 的作用域与生命周期
java·后端·spring
m0_6948455727 分钟前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
春日见32 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
我爱加班、、35 分钟前
Websocket能携带token过去后端吗
前端·后端·websocket
C++ 老炮儿的技术栈35 分钟前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt