Ruby矩阵和集合运算

临风暖阳 发表于 2022/11/01 15:01:04 2022/11/01
【摘要】 笔者主要介绍了Ruby两大数据结构矩阵和集合,并介绍与之相关的运算。
require "Matrix" # This is essential!
m1 = Matrix[ [1,2,3,4],
             [5,6,7,8],
             [9,10,11,12],
             [13,14,15,16] ]
m2 = Matrix[ [10,20,30,40],
             [50,60,70,80],
             [90,100,110,120],
             [130,140,150,160] ]
m3 = m1+m2
p(m3)

Matrix[[11, 22, 33, 44], [55, 66, 77, 88], [99, 110, 121, 132], [143, 154, 165, 176]]

v = Vector[1,2,3,4,5]
v2 = Vector[6,7,8,9,10]
m4 = Matrix.columns([v,v2])
p( m4 )

Matrix[[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]

m5 = Matrix.rows([v,v2])
p( m5 )

Matrix[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]

require "Set" # This is essential!
s1 = Set.new( [1,2,3,4,5,2] )
s2 = Set.new( [1,1,2,3,4,4,5,1] )
s3 = Set.new( [1,2,100] )
weekdays = Set.new( %w( Monday, Tuesday, Wednesday, Thursday,
 Friday, Saturday, Sunday ) )
s1.add( 1000 )
s1.merge(s2)
p( s1 == s2 ) #=> true
p( weekdays.to_a.sort ) # sort alphabetically
#=> ["Friday,", "Monday,", "Saturday,", "Sunday", "Thursday,", "Tuesday,", "Wednesday,"]

false
["Friday,", "Monday,", "Saturday,", "Sunday", "Thursday,", "Tuesday,", "Wednesday,"]

开发环境:Rubymine

The book of Ruby----A hands-on guide for the Adventurous---[美]Huw Collingbourne---no starch press

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。