Ruby基础

embedded/2025/3/3 5:34:58/

一、字符串 定义

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


http://www.ppmy.cn/embedded/169533.html

相关文章

记录一次MQTT慢订阅优化

场景&#xff1a;收不到设备数据&#xff0c;MQTT监控&#xff0c;发现真实数据确实没有&#xff0c;监听2个小时&#xff0c;获取大量慢订阅信息 优化方式 通配符匹配加速​ 优化订阅主题匹配算法&#xff0c;实现多级哈希索引结构。例如将home//status拆分为固定层级匹配&am…

南京来可电子CAN总线数据记录仪在汽车售后服务站的应用

南京来可电子CAN总线数据记录仪在汽车售后服务站的应用 南京来可电子&#xff08;LaiCore&#xff09;作为国内领先的车载数据采集设备供应商&#xff0c;其CAN总线数据记录仪凭借高精度、多协议兼容性及智能化功能&#xff0c;在汽车售后服务站中发挥重要作用。以下是其核心应…

微服务学习(5):消息转换器由JDK序列化——JSON序列化

在企业应用中&#xff0c;将消息转换器从JDK序列化改为JSON序列化提升了系统间通信的效率与安全性。JSON作为轻量级数据交换格式&#xff0c;增强了跨平台兼容性&#xff0c;简化了开发与维护。相比JDK序列化&#xff0c;JSON序列化减少了潜在的安全风险&#xff0c;提供了更紧…

【JS】ES模块与CommonJS的区别

ES 模块与 CommonJS 的对比 特性CommonJSES 模块导入方式const module require(‘module’)import module from ‘module’;导出方式module.exports value;export default value;加载方式同步加载异步加载作用域每个模块都有自己的作用域使用 import 和 export 共享作用域适…

通过Nginx负载均衡+Keepalived实现业务高可用

通过Nginx负载均衡和Keepalived可以实现业务的高可用&#xff0c;以下是详细的实现步骤&#xff1a; 环境准备 假设我们有3台服务器&#xff0c;IP地址分别为&#xff1a; 服务器1&#xff08;Nginx Keepalived 主节点&#xff09;&#xff1a;192.168.1.100服务器2&#x…

Imagination通过最新的D系列GPU IP将效率提升至新高度

Imagination DXTP GPU IP在加速移动设备和其他电力受限设备上的 图形和计算工作负载时&#xff0c;能够延长电池续航时间。 近日&#xff0c;Imagination Technologies&#xff08;“Imagination”&#xff09;宣布推出其最新的GPU IP——Imagination DXTP&#xff0c;该产品…

鸿蒙中连接手机可能遇到的问题

连接权限问题&#xff1a;手机开启了严格的权限管理机制&#xff0c;若未授予鸿蒙设备连接所需的权限&#xff0c;如蓝牙连接时未开启蓝牙权限&#xff0c;或者 USB 连接时未允许设备进行调试、文件传输等操作&#xff0c;就会导致连接失败。例如&#xff0c;当使用鸿蒙平板通过…

LangChain解锁LLM大语言模型的结构化输出能力:调用 with_structured_output() 方法

什么是LLM的结构化输出能力&#xff1f; 在一些工业级LLM应用或比较复杂的LLM应用编排环节&#xff0c;我们需要用LLM的输出作为下一环节的输入&#xff0c;而这个过程往往对LLM输出的格式有一定要求&#xff0c;比如JSON、XML、YAML、CSV、Markdown 表格和HTML 等比较常见的格…