首页 > 编程语言 > 详细

Ruby学习中(哈希变量/python的字典, )

时间:2019-10-08 21:05:44      阅读:102      评论:0      收藏:0      [点我收藏+]

一. 哈希变量(相当于Python中的字典)

详情参看:https://www.runoob.com/ruby/ruby-hash.html

1.值得注意的

(1). 创建Hash时需注意

# 创建一个空的Hash
months = Hash.new
puts months
print(months[1])

# 创建一个具有默认值得Hash
months = Hash.new( "month" )
#
months = Hash.new "month"
puts months
print(months[1])

输出结果:
{}
报错

{}
month

(2).Ruby创建一个有数据的Hash时与Python创建一个有数据的dict时的区别

Python:
a = dict(a=1, b=2)  # 正确
print(a)
b = dict[a=1, b=2]  # 错误
print(b)
c = {["a", "b"]: 1} # 错误
print(c)
Ruby:
a = Hash(a=1, b=2)  # 错误
puts a
a = Hash["a" => 1, "b" => 2]  # 正确
puts a
b = Hash("a" => 1, "b" => 2)  # 正确
puts b
c = Hash("a": 1, "b": 2)  # 正确
puts c
d = Hash([1, "he"] => "hai")  # 正确
puts d

输出结果:
error
{"a"=>1, "b"=>2}
{"a"=>1, "b"=>2}
{:a=>1, :b=>2}
{[1, "he"]=>"hai"}

(3).Ruby调用hash中的数据与Python调用dict中的数据时的区别

Python:
a = {"a": 1, "b": 2}
print(a["a"])
Ruby:
game = {"疾风剑豪" => "亚索", "流影之主" => "", "刀锋之影" => "泰隆"}
puts game
puts game["疾风剑豪"]
user = {name: "进不去啊", age: 18, gender: ""}
puts user
puts user["name"] # nil
puts user[name]   # 报错
puts user[:name]

输出结果:
{"疾风剑豪"=>"亚索", "流影之主"=>"", "刀锋之影"=>"泰隆"}
亚索
{:name=>"进不去啊", :age=>18, :gender=>""}

error
进不去啊

注:Ruby关于字典中的方法大体与Python类似,请放心使用

二. 简单的类型转换

str = "12345"
puts str
str1 = str.to_i     # 转整型
puts str1
str2 = str1.to_s    # 转字符串
puts str2
str3 = str1.to_f    # 转浮点
puts str3

注:这些转换方法与Python有很大的不同

str = "12345hei"
str1 = str.to_i
str2 = str.to_f
puts str1, str2
puts str1.class, str2.class

输出结果:
12345
12345.0
Integer
Float
str = "hei12345hei"
str1 = str.to_i
str2 = str.to_f
puts str1, str2
puts str1.class, str2.class

输出结果:
0
0.0
Integer
Float
str = "12345hei6789"
str1 = str.to_i
str2 = str.to_f
puts str1, str2
puts str1.class, str2.class

输出结果:
12345
12345.0
Integer
Float
str = "hei12345hei6789"
str1 = str.to_i
str2 = str.to_f
puts str1, str2
puts str1.class, str2.class

输出结果:
0
0.0
Integer
Float

注:经过to_i, to_f转换的字符串如果没有对应的值就会输出0或0.0,并且只会去字符串从首字符向后的所有的连续的数字,有且只取一次

三. 类(class)的再深入

详情参看:https://www.runoob.com/ruby/ruby-class.html

1.值得注意的

(1).Ruby类中的变量

技术分享图片

 

Ruby学习中(哈希变量/python的字典, )

原文:https://www.cnblogs.com/rixian/p/11637346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!