当前位置: 首页 > news >正文

Ruby基础

一、字符串 定义

283.to_s //转为string
"something#{a}" //定义字符串,并且插入a变量的值
'something'//单引号定义变量
%q('aaaaa'aaaa') // 定义字符串,()内可以是任何数,自动转义双引号%Q("aaaaa"aaaa') // 定义字符串,()内可以是任何数,自动转义双引号irb(main):023:0> %Q("aaaaa"aaaa')
=> "\"aaaaa\"aaaa'"定义多行字符串<<-任意字符 任意字符结尾
下面是例子 doc 可以改成其他字符,回车后相同doc 结束
C:\Users\47240>irb
irb(main):001:0> <<-doc
irb(main):002:0" dddddd
irb(main):003:0" ccccc
irb(main):004:0" dddd
irb(main):005:0" eeee
irb(main):006:0" doc
=> "dddddd\nccccc\ndddd\neeee\n"

二、ruby常用函数

1.reverse:倒序字符串

irb(main):007:0> 'abcdefc'.reverse
=> "cfedcba"

2.include

irb(main):008:0> "adbc".include?('b') //adbc是否包含b字符
=> true
irb(main):009:0> "adbc".include?('v')//adbc是否包含v字符
=> false

3.index:查看字符在什么位置

irb(main):010:0> "adbc".index('b') //b在adbc 什么位置,下标0开始
=> 2

4.sub:替换字符

irb(main):011:0> "adbc".sub('b','s') //将b 字符替换为s字符
=> "adsc"

5.sub!:改变自己的替换字符

irb(main):012:0> a='adbcd'
=> "adbcd"
irb(main):013:0> a.sub!('b','s')  //危险的方法,会改变a的变量值
=> "adscd"
irb(main):014:0> a
=> "adscd"

6.size: 字符的长度

irb(main):016:0> a='123456'
=> "123456"
irb(main):017:0> a.size  //a变量的长度
=> 6

7.to_sym:转为符号对象  格式为  前面有冒号

符号是Ruby中的一种数据类型,表示唯一的标识符,通常用于表示常量或方法名。符号对象是不可变的,且在内存中只有一个实例。

irb(main):016:0> a='123456'
=> "123456"
irb(main):018:0> a.to_sym  //转为符号对象
=> :"123456"

ps:其他rubystring 方法:https://ruby-doc.org//core-2.2.0/String.html

相关文章:

Ruby基础

一、字符串 定义 283.to_s //转为string "something#{a}" //定义字符串&#xff0c;并且插入a变量的值 something//单引号定义变量 %q(aaaaaaaaa) // 定义字符串&#xff0c;&#xff08;&#xff09;内可以是任何数&#xff0c;自动转义双引号%Q("aaaaa"…...

JMeter 断言最佳实践

JMeter 断言最佳实践 一、引言 在使用 JMeter 进行性能测试或功能测试时&#xff0c;断言是非常重要的一部分。断言可以帮助我们验证接口返回的结果是否符合预期&#xff0c;确保测试的准确性和可靠性。本文将介绍 JMeter 中常见的断言类型、使用这些断言的最佳实践&#xff…...

【Android】类加载器热修复-随记(二)

1. 背景 在【Android】类加载器&热修复-随记一文中了解了类加载,要完成完整的热修复过程,我们需要构建出差量jar包。而这构建差量包分为两个步骤: 原包,注解解析和插桩;变更后,差量包构建;在这两步过程中会涉及到较多的字节码操作,这里我们需要了解下。我们都听过…...

从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(八) 聊天框用户列表

简单画了个聊天框 就是咱们的HomePage.jsx 1.后端接口开发 在server/src/index.js 新增 messagesRoutes 先引入 import messageRoutes from ./routes/message.route.js // 消息接口 app.use(/api/messages, messageRoutes) 在routes文件夹下新建message.route.js 有3个路…...

Linux网络 TCP全连接队列与tcpdump抓包

TCP全连接队列 在 Linux 网络中&#xff0c;TCP 全连接队列&#xff08;也称为 Accept 队列&#xff09;是一个重要的概念&#xff0c;用于管理已经完成三次握手&#xff0c;即已经处于 established 状态但尚未被应用程序通过 accept( ) 函数处理的 TCP 连接&#xff0c;避免因…...

水滴tabbar canvas实现思路

废话不多说之间看效果图,只要解决了这个效果水滴tabbar就能做出来了 源码地址 一、核心实现步骤分解 布局结构搭建 使用 作为绘制容器 设置 width=600, height=200 基础尺寸 通过 JS 动态计算实际尺寸(适配高清屏) function initCanvas() {// 获取设备像素比(解决 Re…...

鸿蒙通过用户首选项实现数据持久化

鸿蒙通过用户首选项实现数据持久化 1.1 场景介绍 用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;并对其修改和查询。当用户希望有一个全局唯一存储的地方&#xff0c;可以采用用户首选项来进行存储。Preferences会将该…...

在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?

在Ubuntu中&#xff0c;某个文件的右下角有一把锁的标志是什么意思&#xff1f; 在 Ubuntu&#xff08;或其他基于 GNOME 文件管理器的 Linux 发行版&#xff09;中&#xff0c;文件或文件夹的右下角出现一把“锁”标志&#xff0c;通常表示 你当前的用户没有该文件/文件夹的写…...

7.1.1 计算机网络的组成

文章目录 物理组成功能组成工作方式完整导图 物理组成 计算机网络是将分布在不同地域的计算机组织成系统&#xff0c;便于相互之间资源共享、传递信息。 计算机网络的物理组成包括硬件和软件。硬件中包含主机、前端处理器、连接设备、通信线路。软件中包含协议和应用软件。 功…...

使用 Docker 部署 RabbitMQ 的详细指南

使用 Docker 部署 RabbitMQ 的详细指南 在现代应用程序开发中&#xff0c;消息队列系统是不可或缺的一部分。RabbitMQ 是一个流行的开源消息代理软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;。本文将详细介绍如何使用 Docker 部署 RabbitMQ&#xf…...

岛屿的数量(BFS)

给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中)。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设该网格的四条边均被水包…...

线上JVM OOM问题,如何排查和解决?

今天咱们来聊聊让无数 Java 开发者头疼的 JVM OOM&#xff08;Out Of Memory&#xff0c;内存溢出&#xff09;问题。在面试中&#xff0c;OOM 问题也是面试官的“心头好”&#xff0c;因为它能直接考察你对 JVM 的理解&#xff0c;以及你在实际问题面前的排查和解决能力。 一…...

Linux的缓存I/O和无缓存IO

一、I/O缓存的背景 I/O缓存是指在内存里开辟一块区域&#xff0c;存放用来接收用户输入和用于计算机输出的数据&#xff0c;以减小系统开销和提高外设效率。linux对IO文件的操作分为不带缓存的IO操作和带缓存的IO操作&#xff08;标准IO操作&#xff09;。为什么存在C标准I/O库…...

【弹性计算】弹性裸金属服务器和神龙虚拟化(三):弹性裸金属技术

弹性裸金属服务器和神龙虚拟化&#xff08;三&#xff09;&#xff1a;弹性裸金属技术 1.弹性裸金属技术背景1.1 传统 KVM 虚拟化系统导致 CPU 计算特性损失1.2 传统 KVM 虚拟化系统导致资源争抢不可避免1.3 传统 KVM 虚拟化系统导致 I/O 性能瓶颈 2.弹性裸金属技术实现2.1 VPC…...

【MySQL】(2) 库的操作

SQL 关键字&#xff0c;大小写不敏感。 一、查询数据库 show databases; 注意加分号&#xff0c;才算一句结束。 二、创建数据库 {} 表示必选项&#xff0c;[] 表示可选项&#xff0c;| 表示任选其一。 示例&#xff1a;建议加上 if not exists 选项。 三、字符集编码和排序…...

Hyper-V -docker-vmware 三者的关系

1. Docker 正常运行&#xff0c;需要启动Hyper-V &#xff0c;打开 hypervisorlaunchtype 2.VMware 正常时&#xff0c;需要关闭Hyper-V &#xff0c;关闭 hypervisorlaunchtype 2.1资源管理器->CPU 里要开启虚拟化 2.2 服务-停掉HV服务 2.3 控制面板 不勾选 2.4 …...

IP-----双重发布

目录 6.双重发布 1.重发布的作用 2.部署条件 1.必须存在ASBR 2.种子度量值 3.重发布的规则 4.重发布的数量 5.重发布的场景 1.场景和规则 2.直连和静态 3.动态RIP 4.动态OSPF 5.更改开销值 6.重发布的问题1 7.重发布的问题2 1.流量 2.前缀列表 3.偏移列表 4…...

【新立电子】探索AI眼镜背后的黑科技,FPC如何赋能实时翻译与语音识别,点击了解未来沟通的新方式!

在全球化的今天&#xff0c;语言障碍成为人们沟通与交流的一大难题。AI眼镜作为一种新兴的智能设备&#xff0c;正在通过实时翻译与语音识别功能&#xff0c;打破语言壁垒&#xff0c;为人们提供无缝沟通的解决方案。FPC在AI眼镜中的应用&#xff0c;为实时翻译与语音识别功能的…...

LeetCode 热题 100_寻找两个正序数组的中位数(68_4_困难_C++)(二分查找)(先合并再挑选中位数;划分数组(二分查找))

LeetCode 热题 100_寻找两个正序数组的中位数&#xff08;68_4&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;先合并再挑选中位数&#xff09;&#xff1a;思路二&#xff08;划分数组&#xff08;二分查找…...

Java多线程与高并发专题——深入ReentrantReadWriteLock

深入ReentrantReadWriteLock 读写锁出现原因 synchronized和ReentrantLock都是互斥锁。如果说有一个操作是读多写少的&#xff0c;还要保证线程安全的话。如果采用上述的两种互斥锁&#xff0c;效率方面很定是很低的。在这种情况下&#xff0c;咱们就可以使用ReentrantReadWr…...

QQ空间历史数据安全备份:GetQzonehistory高效解决方案

QQ空间历史数据安全备份&#xff1a;GetQzonehistory高效解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代&#xff0c;个人社交数据的永久性面临严峻挑战。据中国互联…...

零基础部署Nanbeige 4.1-3B:Streamlit极简UI手把手教程

零基础部署Nanbeige 4.1-3B&#xff1a;Streamlit极简UI手把手教程 如果你对本地运行大语言模型感兴趣&#xff0c;但又被复杂的命令行界面和简陋的Web界面劝退&#xff0c;那么今天这篇文章就是为你准备的。我们将一起完成一个既好看又好用的本地AI对话界面的部署&#xff0c…...

数据主权守护者:解决微信聊天记录永久保存难题的开源方案

数据主权守护者&#xff1a;解决微信聊天记录永久保存难题的开源方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...

ClusterFuzz终极内存泄漏检测指南:LSAN与UBSAN的完整配置教程

ClusterFuzz终极内存泄漏检测指南&#xff1a;LSAN与UBSAN的完整配置教程 【免费下载链接】clusterfuzz Scalable fuzzing infrastructure. 项目地址: https://gitcode.com/gh_mirrors/cl/clusterfuzz ClusterFuzz是一款强大的可扩展模糊测试基础设施&#xff0c;能够帮…...

hello-uniapp技术债务管理:平衡开发速度与代码质量的终极指南 [特殊字符]

hello-uniapp技术债务管理&#xff1a;平衡开发速度与代码质量的终极指南 &#x1f680; 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp 在快速发展的移动应用开发领域&#xff0c;hello-uniapp作为uni-…...

5分钟快速上手:Switch注入完整指南与TegraRcmGUI使用教程

5分钟快速上手&#xff1a;Switch注入完整指南与TegraRcmGUI使用教程 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI 如果你正在寻找一款简单易用的Switch注…...

八大网盘直链下载神器:告别客户端依赖,解锁高速下载新体验

八大网盘直链下载神器&#xff1a;告别客户端依赖&#xff0c;解锁高速下载新体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国…...

Jimeng LoRA自动化测试方案:脚本驱动多Epoch批量生成+效果评分体系

Jimeng LoRA自动化测试方案&#xff1a;脚本驱动多Epoch批量生成效果评分体系 1. 项目简介&#xff1a;一个为LoRA进化史量身定做的“显微镜” 如果你训练过LoRA模型&#xff0c;尤其是像Jimeng&#xff08;即梦&#xff09;这样风格独特的系列&#xff0c;一定遇到过这个头疼…...

如何释放拯救者笔记本潜力?Lenovo Legion Toolkit的5个颠覆性应用

如何释放拯救者笔记本潜力&#xff1f;Lenovo Legion Toolkit的5个颠覆性应用 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit …...

FLAC转ALAC踩坑实录:除了音质无损,你的专辑封面和元数据都保留了吗?

FLAC转ALAC终极指南&#xff1a;如何无损迁移音质、元数据与专辑封面 每次打开Apple Music看到那些没有封面的专辑&#xff0c;或是艺术家信息显示为"未知"的曲目&#xff0c;总让人有种说不出的别扭。作为一位十年资深的数字音乐收藏者&#xff0c;我深知真正的音乐…...