Ruby基础

ops/2025/3/2 8:32:37/

一、字符串 定义

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/ops/162459.html

相关文章

Linux消息队列

msgget函数&#xff08;类似于shmget&#xff09; 是 Linux 系统中用于 创建或获取消息队列&#xff08;System V Message Queue&#xff09; 的系统调用。 #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>int msgget(key_t key, int m…

【开源-线程池(Thread Pool)项目对比】

一些实现**线程池&#xff08;Thread Pool&#xff09;**功能的开源项目的对比分析。 线程池功能的开源项目 项目名称语言优点缺点适用场景开源代码链接ThreadPoolC简单易用&#xff0c;代码简洁&#xff1b;适合快速原型开发。功能较为基础&#xff0c;不支持动态调整线程数…

HTMLS基本结构及标签

HTML5是目前制作网页的核心技术&#xff0c;有叫超文本标记语言。 基本结构 声明部分位于文档的最前面&#xff0c;用于向浏览器说明当前文档使用HTML标准规范。 根部标签位于声明部分后&#xff0c;用于告知浏览器这是一个HTML文档。< html>表示文档开始&#xff0c;&l…

C/C++跳动的爱心

系列文章 序号直达链接1C/C李峋同款跳动的爱心2C/C跳动的爱心3C/C经典爱心4C/C满屏飘字5C/C大雪纷飞6C/C炫酷烟花7C/C黑客帝国同款字母雨8C/C樱花树9C/C奥特曼10C/C精美圣诞树11C/C俄罗斯方块小游戏12C/C贪吃蛇小游戏13C/C孤单又灿烂的神14C/C闪烁的爱心15C/C哆啦A梦16C/C简单…

神经网络|(十一)|神经元和神经网络。

【1】引言 前序已经了解了基本的神经元知识&#xff0c;相关文章链接为&#xff1a; 神经网络|(一)加权平均法&#xff0c;感知机和神经元-CSDN博客 神经网络|(二)sigmoid神经元函数_sigmoid函数绘制-CSDN博客 神经网络|(三)线性回归基础知识-CSDN博客 把不同的神经元通过…

【JAVA-数据结构】Lambda表达式

还是老规矩&#xff0c;继续进行&#xff0c;有需要的大家持续关注。 1 背景 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达…

Unity自动旋转物体功能实现

功能描述 实现简单的功能&#xff1a;让一个3D物体在Unity场景中自动旋转。这个功能可以通过调整旋转速度和旋转轴来适应不同的需求。 实现步骤 创建Unity项目&#xff1a;首先&#xff0c;打开Unity并创建一个新的3D项目。 添加3D物体&#xff1a;在场景中创建一个3D物体&…

瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发

触觉智能分享&#xff0c;瑞芯微RK安卓Android主板GPIO按键配置方法&#xff0c;方便大家更好利用空闲IO&#xff01;由触觉智能Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566四核处理器&#xff0c;树莓派卡片电脑设计&#xff0c;支持安卓Android、开源鸿蒙Open…