Ruby基础语法

news/2024/9/28 12:52:25 标签: 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 的语法简洁而强大,非常适合快速开发。


http://www.niftyadmin.cn/n/5681140.html

相关文章

测试面试题:请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试

单元测试&#xff1a;完成最小的软件设计单元&#xff08;模块&#xff09;的验证工作&#xff0c;目标是确保模块被正确的编码集成测试&#xff1a;通过测试发现与模块接口有关的问题系统测试&#xff1a;是基于系统整体需求说明书的黑盒类测试&#xff0c;应覆盖系统所有联合…

Linux 块设备开发学习

Linux 块设备是指可以以固定大小的块&#xff08;通常为 512 字节或 4KB&#xff09;进行读写的存储设备。块设备通常用于实现文件系统和管理数据的存储与访问。以下是块设备的一些主要特点和组成部分&#xff1a; 1. 主要特点 随机访问&#xff1a;块设备支持随机读写&#…

计算机毕业设计党建学习网站查看发布党建评论留言搜索部署安装/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

目录 ‌开发背景‌&#xff1a; ‌开发意义‌&#xff1a; ‌开发目标‌&#xff1a; 部署安装 主要功能 功能图 界面介绍 技术介绍 需求分析 1. 用户角色分析 2. 功能需求分析 3. 性能需求分析 4. 界面设计需求 5. 其他需求 ‌党建学习网站的开发背景、意义与目…

MySQL进阶:深入理解数据约束与优化查询

MySQL管理数据库 创建数据库 CREATE DATABASE IF NOT EXISTS 数据库名; 删除数据库 DROP DATABASE 数据库名; 表的管理 查看所有表 use 数据库名; 选中一个数据库show tables; 创建表:student(整数id,字符串name,整数age) CREATE TABLE sutdent (id int, name varchar(…

0. Pixel3 在Ubuntu22下Android12源码拉取 + 编译

0. Pixel3 在Ubuntu22下Android12源码拉取 编译 原文地址: http://www.androidcrack.com/index.php/archives/3/ 1. 前言 这是一个非常悲伤的故事, 因为一个意外, 不小心把之前镜像的源码搞坏了. 也没做版本管理,恢复不了了. 那么只能说是重新做一次. 再者以前的镜像太老旧…

Qt --- Qt窗口

一、前言 前面学习的所有代码&#xff0c;都是基于QWidget控件。QWidget更多的是作为别的窗口的一个部分。 Qt中的QMainWindow就是窗口的完全体 Menu Bar菜单栏 Tool Bar Area 工具栏&#xff0c;类似于菜单栏&#xff0c;工具栏本质上就是把菜单中的一些比较常用的选项&…

Midjourney 使用教程——入门篇

目录标题 一、前提二、Midjourney 使用文档三、如何注册使用Midjourney四、结合GPT快速生成Midjourney 构图指令五、其他 一、前提 先连接国外代理服务器。没有的可以退下了。 二、Midjourney 使用文档 Discord 快速入门 注意&#xff1a;如图所示&#xff0c;需要10美刀一…

另外知识与网络总结

一、重谈NAT&#xff08;工作在网络层&#xff09; 为什么会有NAT 为了解决ipv4地址太少问题&#xff0c;到了公网的末端就会有运营商路由器来构建私网&#xff0c;在不同私网中私有IP可以重复&#xff0c;这就可以缓解IP地址太少问题&#xff0c;但是这就导致私有IP是重复的…