hash可以是:或箭头或[]取值
1.ruby中hash的几种写法
hash_1 = {:name => "Mary",:age => 12}
hash_2 = {name:"Mary",age:12}
h={:name => "Mary",age:22,"a" => 1, 7 => 35}
#(1)取值 h[:name],h["a"] h[age]错误
(2)赋值/创建键值对 h[:sex]=1
2.类型转换 to_s,to_a,to_hash
转哈希eval
3.常用操作:
(1)取值 hash[key]
(2)赋值/创建键值对 hash[key] = value
(3)遍历 hash.each {| key,value | block } 遍历每个键值对
(4)判空:empty?
blank?
(5)hash中是否存在该键:hash.include?(key) .has_key? has_value?
(6)数组形式返回键、值 hash.keys
hash.values
(7)长度 hash.length
(8)合并哈希(有相同的key值,则key对应的值以后面的哈希) merge
hash_1.merge(hash_2) hash_1的值不会改变
hash_1.merge!(hash_2) hash_1的值会改变
(9)select满足与reject不满足,返回数组(类似数组中select) hash.select {|key,value| block}
返回:nil查
判空 empty与blank区别??,present, ==nil ,=="" count==0,
include
%w返回元素被双引号括起来的数组
%i返回symbol数组
%r用于正则表达式
%Q双引号(引号前自己不用加反斜杠)与%q单引号
%x执行shell脚本(shell脚本,linux中)
%s 用于表示symbol, 但是不会对其中表达式等内容进行转化
(&:blank?)
注释:shell脚本中,echo字符串输出
本文介绍了Ruby中的Hash数据结构,包括多种创建Hash的方法,如使用冒号或方括号,以及类型转换如to_s、to_a和to_hash。此外,还详细讲解了Hash的常见操作,如取值、赋值、遍历、判断空、键值存在性检查、获取键和值的数组、计算长度、合并哈希以及选择和拒绝操作。同时,文中提到了与空值检查相关的empty?和blank?的区别,并提供了各种字符串格式化方法的示例。
439

被折叠的 条评论
为什么被折叠?



