首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础数据类型(data types)EP02

普通字符串对象通常以双引号形式声明,可转义字符,单引号原样输出不转义,字符串还可以包含变量或表达式(内嵌 #{ expr }): irb(main):017:0> "360 degrees = #{2...中每一个对象都有唯一对象标识符,也可以理解为内存地址标识,每个字符串对象都是不同,即使它们包含了相同字符串内容,而对于符号对象,相同字符串内容则只会指向唯一确定一个符号对象,这样实际上节约了内存...符号字符串相互转换: var1 = "test".to_sym #=>:test var1 = :test.to_s #=>"test"     一般情况下,符号作为哈希key进行取值操作,这样效率和性能更高...需要注意是,符号是不可变对象。    哈希(Hash)     哈希是一种非常有用且广泛使用复合容器对象,可用于存储其他对象。我们通过(key)来查找哈希值(value)。...结语     字符、数字、布尔是不可变对象,而字符串、数组、哈希是可变对象,Ruby3中所有不可变对象多个同值对象,都会指向同一个对象内存地址。

1.5K20

开心档-软件开发入门之Ruby 数组(Array)

34array.hash 计算数组哈希代码。两个具有相同内容数组将具有相同哈希代码。35array.include?...41array.join(sep=$,) 返回一个字符串,通过把数组每个元素转换为字符串,并使用 sep 分隔进行创建。...aASCII 字符串(填充 null,count 是宽度)。B位字符串(降序)b位字符串(升序)。C无符号字符。c字符。D, d双精度浮点数,原生格式。...H十六进制字符串(高位优先)。h十六进制字符串(低位优先)。I无符号整数。i整数。L无符号 long。lLong。M引用可打印,MIME 编码。mBase64 编码字符串。...P指向一个结构(固定长度字符串)。p指向一个空结束字符串。Q, q64 位数字。S无符号 short。sShort。UUTF-8。uUU 编码字符串

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

开心档-软件开发入门之Ruby 数组(Array)

34 array.hash 计算数组哈希代码。两个具有相同内容数组将具有相同哈希代码。 35 array.include?...41 array.join(sep=$,) 返回一个字符串,通过把数组每个元素转换为字符串,并使用 sep 分隔进行创建。...a ASCII 字符串(填充 null,count 是宽度)。 B 位字符串(降序) b 位字符串(升序)。 C 无符号字符。 c 字符。 D, d 双精度浮点数,原生格式。...H 十六进制字符串(高位优先)。 h 十六进制字符串(低位优先)。 I 无符号整数。 i 整数。 L 无符号 long。 l Long。 M 引用可打印,MIME 编码。...P 指向一个结构(固定长度字符串)。 p 指向一个空结束字符串。 Q, q 64 位数字。 S 无符号 short。 s Short。 U UTF-8。 u UU 编码字符串

1.2K30

Python语言常用49个基本概念及含义

列表不能作为字典”,也不能作为集合元素。 元组(tuple):内置类型,不可变(或可哈希),其中可以包含任意类型数据,如果元组中只有一个元素,必须加一个逗号,例如(3,)。...字典(dict):内置类型,常用于表示特定映射关系或对应关系,可变(不可哈希),元素形式为“:值”,其中“”必须是可哈希类型数据且不重复。...字符串(str):内置类型,可哈希(不可变),可以是空字符串或包含任意多个任意字符对象,使用单引号、双引号、三单引号、三双引号作为定界符,不同定界符之间可以嵌套。...切片(slice):用来访问列表、元组、字符串和range中部分元素语法,完整形式为[start:stop:step],其中start、stop、step含义与range()函数参数相同。...列表、字典、集合这样可以增加元素、删除元素、修改元素对象属于不可哈希对象,元组、字符串这样不可变对象属于可哈希对象。

2.6K21

yaml语言学习笔记

简介 YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)递归缩写。...它使用空白符号缩进和大量依赖外观特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。...支持以下几种数据类型: 对象:键值对集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary) 数组:一组按次序排列值,又称为序列(sequence) / 列表(...list) 纯量(scalars):单个、不可再分值 YAML 对象 对象几种表示形式: 1、对象键值对使用冒号结构表示 key: value,冒号后面要加一个空格。...Ruby: ruby-lang.org Python: python.org Perl: use.perl.org 转换为 js 为: { languages: [ 'Ruby

1K10

yaml语言教程

yaml语言教程 简介 YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)递归缩写。...它使用空白符号缩进和大量依赖外观特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。...'表示注释 数据类型 YAML 支持以下几种数据类型: 对象:键值对集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary) 数组:一组按次序排列值,又称为序列...(sequence) / 列表(list) 纯量(scalars):单个、不可再分值 YAML 对象 对象几种表示形式: 1、对象键值对使用冒号结构表示 key: value,冒号后面要加一个空格...Ruby: ruby-lang.org Python: python.org Perl: use.perl.org 转换为 js 为: { languages: [ 'Ruby

1.4K10

Python体系练手项目200例(附源代码),练完可显著提升python水平(鲲鹏编程–Python教育新物种)

1.十二 2.十八 3 十十六 4.字符串字节 5.转为字符串 6.十 ASCII 7.ASCII 十 8.转为字典 9.转为浮点类型 10.转为整型 11....' 2.十八 十进制转换为八进制: >>> oct(9) '0o11' 3 十十六 十进制转换为十六进制: >>> hex(15) '0xf' 4.字符串字节 字符串换为字节类型...如果参数是字符串,那么它可能包含符号和小数点。如果超出普通整数表示范 围,一个长整数被返回。 >>> int('12',16) 18 11....格式化字符串常见用法 29.返回对象哈希值 返回对象哈希值。...38.父子关系鉴定 第二个参数可为元组: 39.所有对象之根 object 是所有类基类 40.一查看对象所有方法 不带参数时返回当前范围内变量、方法和定义类型列表;带参数时返回参数

3.3K30

前端中文汉字拼音

本文简介 这次要推荐一个在前端就能实现 汉字拼音 工具库 —— pinyin-pro 。 这个库不止能把中文转成拼音输出,还有拼音匹配、获取声母、获取韵母、获取拼音首字母等功能。...特色功能 获取汉字、词语、句子等多种格式拼音 获取声母 获取韵母 获取拼音首字母 获取音调 获取多音字多种拼音 支持人名姓氏模式 支持自定义拼音 支持字符串和数组两种输出形式 支持拼音文本匹配功能...pinyin / initial / final / num / first pinyin toneType 音调输出形式(拼音符号 / 数字 / 不加音调) string symbol / num...替换为 v boolean true / false false 以上就是 pinyin-pro 安装、引入和参数,更多使用案例可以查看官方文档。...在支持 ruby 浏览器是这样显示: 雷猴(leihou) 不支持 ruby 浏览器显示效果: 需要注意

5.6K20

DevOps工具介绍连载(48)——静态扫描工具Brakeman

质量分配 使用String#strip或String.squish(#1459)检查SQL查询字符串 处理(#1465)locals哈希符号render 渲染参数中索引调用(#1459) 全球批量分配...例如: ActiveRecord::Base.connection.execute "SELECT * FROM #{user_input}".squish 本地哈希符号 使用符号文字以外其他值作为...locals哈希render将不再导致错误。...Stabby Lambdas ruby_parser3.14.0更改了LambdaAST表示形式->{},而Brakeman需要进行调整。...Ruby 2.7冻结字符串Ruby 2.7中,符号和其他一些常量值(true/ false等)将返回冻结字符串。这仅以较小方式影响了Brakeman,但现在已修复,以准备Ruby 2.7。

2.1K10

JSON神器之jq使用指南指北

当给定一个 JSON 对象(又名字典或哈希)作为输入时,它会在“foo”处生成值,如果不存在则为 null。 形式过滤器.foo.bar等价于.foo|.bar。...转换为/从 JSON tojson和builtins 分别将值储为 JSON 文本或将fromjsonJSON 文本解析为值。...范围界定 jq 中有两种类型符号:值绑定(又名“变量”)和函数。两者都是词法范围,表达式只能引用已在它们“左侧”定义符号。该规则唯一例外是函数可以引用自身以便能够创建递归函数。...模块符号以“NAME::”为前缀。 可选元数据必须是常量 jq 表达式。它应该是一个带有“主页”等对象。此时 jq 只使用元数据“搜索”/值。...“.jq”后缀将添加到相对路径字符串中。模块符号被导入调用者命名空间,就好像模块内容被直接包含在内一样。 可选元数据必须是常量 jq 表达式。它应该是一个带有“主页”等对象。

28.1K30

2.0 Python 数据结构与类型

将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str)计算字符串有效 python 表达式 tuple(x) 将序列 x...Unicode 字符 ord(x) 将一个字符转换为整数值 hex(x) 将一个整数转换为一个十六进制字符串oct(x) 将一个整数转换为一个八进制字符串 基本算术运算...str.title() 将字符串每个单词首字母大写 str.upper() 将字符串换为大写 str.lower() 将字符串换为小写...字典是基于哈希表实现,可以快速地根据找到对应值。字典定义使用大括号{}包含键值对,每个键值对使用冒号:连接和值,键值对之间使用逗号, 分割。...这是因为字典是基于哈希表实现,每个哈希值是唯一,如果多个哈希值相同,就会发生哈希冲突,这个冲突会被解决为一个链表。所以,字典中天生就是去重

50060

2.0 Python 数据结构与类型

str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 计算字符串有效 python 表达式 tuple(x) 将序列 x 转换为一个元组 list...(x) 将序列 x 转换为一个列表 chr(x) 将一个整数转换为一个字符 unichr(x) 将一个整数转换为 Unicode 字符 ord(x) 将一个字符转换为整数值 hex(x) 将一个整数转换为一个十六进制字符串...方法 描述 str.capitalize() 将字符串首字母变为大写 str.title() 将字符串每个单词首字母大写 str.upper() 将字符串换为大写 str.lower() 将字符串换为小写...字典是基于哈希表实现,可以快速地根据找到对应值。 字典定义使用大括号{}包含键值对,每个键值对使用冒号:连接和值,键值对之间使用逗号, 分割。...这是因为字典是基于哈希表实现,每个哈希值是唯一,如果多个哈希值相同,就会发生哈希冲突,这个冲突会被解决为一个链表。所以,字典中天生就是去重

35930

【知识】4.Prometheus配置文件.yml语法入门

YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)递归缩写。...它使用空白符号缩进和大量依赖外观特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。...数据类型 YAML 支持以下几种数据类型: 对象:键值对集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary) 数组:一组按次序排列值,又称为序列(sequence...ruby-lang.org Python: python.org Perl: use.perl.org 转换为 json 为: { languages: [ 'Ruby', 'Perl..., Perl: 'use.perl.org' } } 纯量 纯量是最基本,不可再分值,包括: 字符串 布尔值 整数 浮点数 Null 时间 日期 使用一个例子来快速了解纯量基本使用

1.7K20

PHP核心编程知识点

八:三并一 二、十六之间互转 十六二:一拆四 二十六:四并一 八、十六之间互转 八十六:先一拆三,再四并一 十六八:先一拆四,再三并一 3.整型数据 表示形式 十进制 八进制,以...6.字符串数据 单引号 双引号 定界符:Heredoc 定界符:Nowdoc 7.特殊数据类型 NULL类型 resource型 8.类型转换 类型自动转换 字符串型自动转换为数值型 其他类型自动转换为布尔型...a.运算符概念         b.运算符分类         c.运算符优先级和结合性         d.表达式和语句 2.算术运算符 求余运算符:在运算之前先把两个操作数都自动转换为整型,符号是由被除数决定...自增自减:++和——在前面和在后面的区别 3.赋值运算符 复合赋值运算符 赋值运算符结合性:右结合 赋值表达式值就是被赋值那个变量值$a = 100 4.字符串连接符 主要和逗号区别 在运算之前是将两边操作数都自动转换为字符串类...静态局部变量:使用关键字static 8.函数递归调用 概念:就是函数在执行时候自己调用自己,不是一种新语法,而是一种算法描述 递归调用关键点:递归出口,递归点,写程序时候先写递归出口,然后再写递归

3.4K51

Thrift数据类型

:使用 UTF-8 编码编码文本字符串 请注意没有无符号整数类型。...这是因为在许多编程语言中没有原生无符号整数类型。 特殊类型 二进制:未编码字节序列 这是目前上述字符串类型一种特殊形式,添加它以提供与 Java 更好互操作性。...转换为 STL 集合、Java HashSet、Python 中集合等。注意:PHP 不支持集合,因此将其视为类似于 List map:值严格唯一映射。...转换为 STL 映射、Java HashMap、PHP 关联数组、Python/Ruby 字典等。虽然提供了默认值,但类型映射并未明确固定。...容器元素可以是任何有效 Thrift 类型。 注意:为了获得最大兼容性,map 类型应该是基本类型,而不是结构或容器类型。 有一些语言在其原生映射类型中不支持更复杂类型。

95430

从一道面试题引发原理性探究

下面详细介绍了V8 v6.3+如何将key存储在哈希表中最新进展。 哈希码 Hash code 散列函数用于将给定 key 映射到哈希表中特定位置。...,我们不必为哈希码字段保留内存.当对象被添加到哈希表时,才把新私有符号存储在对象上。...与使用内联缓存(IC)系统进行任何其他属性查找一样,V8 还可以优化哈希符号查找,从而为哈希码提供非常快速查找。当具有相同隐藏类时,这对于单态内联缓存查找非常有效。...但是,大多数现实世界代码都不遵循这种模式,并且通常具有不同隐藏类,导致散列码复态内联缓存查找变慢。 私有符号方法另一个问题是它在存储散列码 key 时触发了一个隐藏类转换。...word (computer architecture) 元素存储用于像数组索引属性,而属性存储用于其字符串符号属性。

1.4K20

Python-时间及日期-03-字符串时间

今天讲讲如何将字符串转化为日期格式 涉及模块:datetime Part 1:代码 import datetime print("示例1") str_time_1 = "2020-03-22 10...Part 2:部分代码解读 datetime.datetime.strptime(str_time_1, '%Y-%m-%d %H:%M:%S') 其中str_time_1为拟转换为时间格式字符串...%y/%d/%m %M:%H:%S') 其中str_time_2为拟转换为时间格式字符串 其中%y/%d/%m %M:%H:%S为该字符串符合时间格式 最终输出时间格式为:%Y-%m-%d %H:...%M:%S datetime.datetime.strptime(str_time_3, '%Y-%m-%d %I:%M:%S %p') 其中str_time_3为拟转换为时间格式字符串 其中%Y-%...m-%d %I:%M:%S %p为该字符串符合时间格式 最终输出时间格式为:%Y-%m-%d %H:%M:%S 综上,无论原输入字符串符合什么样时间格式,最终输出时间格式展现形式是一样 常用格式化符号含义

2.9K40

解释器模式举例-TypeScript 类型体操天花板,用类型运算写一个 Lisp 解释器

我们在这里介绍几个常见技巧:   用于拆出来数组和字符串第一个元素匹配,常用语递归一个数组里面的每一个元素:    // 递归处理数组常用匹配 type Test0 = [0...& 尾递归循环 & 通用递归循环   在纯函数式编程语言里面,由于没有只能用递归代替循环,但是就会遇到一个非常尴尬问题「爆栈」,所以函数式编程用尾递归(尾调用)方式解决了这个问题。   ...这一小节展开来讲非常耗时,大家可以通过我另外两篇文章来补充关于递归知识:   循环递归   在尾递归章节文章里面已经讨论过了,递归和循环实际上是等价,并且已经讨论过如何将递归/尾递归转换成循环...组合一下上两节知识就行了:   递归遍历树 --(通用递归循环)--> 循环遍历树 循环遍历树 --(循环递归)--> 尾递归遍历树   这里再强调一下重点,在用循环遍历一个树时候,需要记录两个维度信息才能明确我现在遍历位置...Token 数组:   语法分析   语法分析部分核心代码如下所示,核心过程就是:   如果遇到 ( 符号入栈如果遇到 ) 符号出栈,讲栈顶一整个数组当成一个项加入新栈顶数组 如果遇到其他符号,直接将符号加入栈顶数组

43530
领券