Ruby 数组

city=["北京","上海","天津","重庆"]
puts city
city=Array.new
city[0]="北京"
city[1]="上海"
city[2]="天津"
city[3]="重庆"
puts city

city=["北京","上海","天津","重庆"]
city[4]="香港"
puts "数组的长度为:"+city.size.to_s
puts city
puts "第二个元素为:"+city[1]
puts "最后一个元素为:"+city[-1]

city=Array.new
city[2]="香港"
puts "数组的长度为:"+city.size.to_s
puts city

str="深圳"
city_1=%W{北京 上海 天津 重庆 杭州 南京 #{str}}#使用%W{...}进行转换
puts city_1.size
puts city_1
city_2=%w{北京 上海 天津 重庆 杭州 南京 #{str}}#使用%w{...}进行转换
puts city_2

college=["北京大学","清华大学"]
college.unshift("浙江大学","复旦大学")    #向数组头部添加元素列表
college.push("南京大学","武汉大学")       #向数组尾部添加元素列表
college<<"南开大学"                       #向数组尾部添加一个元素
puts college.size.to_s
puts college
puts college.pop                          #删除并获取数组最后一个元素
puts college.shift                      #删除并获取数组第一个元素
puts college.size.to_s
puts college
puts college[2,3]                       #截取从索引2开始,长度为3的元素列表
puts college[2..3]                      #截取从索引2开始,到索引3的元素列表
puts college[2...3]                     #截取从索引2开始,到索引3(不包括)的元素列表

city_1=["北京","上海","天津"]
city_2=["重庆","香港"]
city_3=city_1+city_2
puts city_3.size.to_s
city_1.concat(city_2)
puts city_1.size.to_s

a=Array.new
p a

a=Array.new(5)
p a

a=Array.new(5,0)
p a
#lang=%W(a b c)
lang=%W{a b c}
p lang

h={"a"=>"b","c"=>"d"}
p h.to_a

s="ab cd efg"
a=s.split(" ")
p a
#p a.include?("ab")
#a.each_with_index do |b,i|
#  p b
#  p i
#end
#h = {:aaa => "bbb", :ccc => "ddd"}
#h.each_key do |key|
#  p h[key]
#end
#h.replace({:a => "b", :c => "d"})
#p h
#t = Time.now
#p t.strftime("%y")

a=[1,2,3,5,7,9]
b=[2,4,6,8,10]
#两数组相连
p (a+b)
#a数组中的元素减去b数组中与之相同的元素
p (a-b)
#(并集)除去两个数组中相同的元素
p (a|b)
#(交集)只有两个数组中都相同的元素
p (p&b)

a=[1,2,3,2]
a.delete(2)           #删除所有与X相同的元素
p a

a=[1,2,3,2]
a.delete_at(3)        #删除第n个元素
p a

a=[1,2,3,4,5,6,7,8,9,10]
a.slice!(1,5)         #删除数组中第几到第几个之间的所有数据
p a

a=[1,2,3,4,5,6,7]
a[1..6]=[4,5,6,7,8,9]   #a[n..m]方法可以选择改变数组
p a

a=[1,2,3,4,5,6,7,8,9]
a.each(){|s| p s}
a.each_with_index do |c,i|
   puts "#{i}  :  #{c}"
  puts (c+i).to_s
end

a=[[1,2],[2,3],[3,4],6]
p a.flatten

s = [ 1, 2, 3 ]           #=> [1, 2, 3]
t = [ 4, 5, 6, [7, 8] ]   #=> [4, 5, 6, [7, 8]]
a = [ s, t, 9, 10 ]       #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
puts   a.flatten                 #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = [ 1, 2, [3, [4, 5] ] ]
puts a.flatten(1)              #=> [1, 2, 3, [4, 5]]
puts a.flatten                #=> [1, 2, 3, 4, 5]

a=[1,1,2,2,3,3]
p a.uniq                      #去掉重复的元素

arr=[9,8,7,1,2,5,3]
p arr.sort                    #=> [1, 2, 3, 5, 7, 8, 9]
p arr                         #=> [9, 8, 7, 1, 2, 5, 3]
p arr.sort!                   #=> [1, 2, 3, 5, 7, 8, 9]
p arr                         #=> [1, 2, 3, 5, 7, 8, 9]
p arr.sort{|a,b| b<=>a}

 

[]
[nil, nil, nil, nil, nil]
[0, 0, 0, 0, 0]
["a", "b", "c"]
[["c", "d"], ["a", "b"]]
["ab", "cd", "efg"]
[1, 2, 3, 5, 7, 9, 2, 4, 6, 8, 10]
[1, 3, 5, 7, 9]
[1, 2, 3, 5, 7, 9, 4, 6, 8, 10]
false
[1, 3]
[1, 2, 3]
[1, 7, 8, 9, 10]
[1, 4, 5, 6, 7, 8, 9]
1
2
3
4
5
6
7
8
9
0  :  1
1
1  :  2
3
2  :  3
5
3  :  4
7
4  :  5
9
5  :  6
11
6  :  7
13
7  :  8
15
8  :  9
17
[1, 2, 2, 3, 3, 4, 6]
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
1
2
3
4
5
[1, 2, 3]
[1, 2, 3, 5, 7, 8, 9]
[9, 8, 7, 1, 2, 5, 3]
[1, 2, 3, 5, 7, 8, 9]
[1, 2, 3, 5, 7, 8, 9]
[9, 8, 7, 5, 3, 2, 1]

转载于:https://www.cnblogs.com/mingforyou/archive/2012/07/30/2615213.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(转) java 复制文件,不使用输出流复制,高效率,文件通道的方式复制文件

public static void fileChannelCopy(File s, File t) {FileInputStream fi null;FileOutputStream fo null;FileChannel in null;FileChannel out null;try {fi new FileInputStream(s);fo new FileOutputStream(t);in fi.getChannel();// 得到对应的文件通道out fo.g…

Mysql中的in和find_in_set的区别?

在mysql中in的使用情况如下&#xff1a; select * from article where 列名 in(值1&#xff0c;值2&#xff0c;值3.....)&#xff1b; select * from article where 值1 in(值1&#xff0c;值2&#xff0c;值3.....)&#xff1b; 在mysql中find_in_set的使用情况如下&#xff…

Vue组件强制刷新(重新渲染)的四种方案对比

文章目录前言一、刷新整个页面二、使用v-if标记三、forceUpdate四、key-changing五、应用场景vue具有缓存的页面的强制刷新进入页面输入框自动聚焦前言 Vue的双向绑定属于自动档&#xff1b;在特定的情况下&#xff0c;需要手动触发“刷新”操作&#xff0c;目前有四种方案可以…

AOJ 0525 Osenbei【穷竭搜索】

AOJ 0525 题意&#xff1a; 有一个烤饼器可以烤r行c列的煎饼&#xff0c;煎饼可以正面朝上&#xff08;用1表示&#xff09;也可以背面朝上&#xff08;用0表示&#xff09;。一次可将同一行或同一列的煎饼全部翻转。现在需要把尽可能多的煎饼翻成正面朝上&#xff0c;问最多能…

wp imei

由于WP8SKD不提供获取机子IMEI的方法&#xff0c;所以无法得到机子IMEI&#xff0c;但是SDK提供一另一个获取唯一ID的方法&#xff0c;在Microsoft.Phone.Info.DeviceExtendedProperties里面的DeviceUniqueId。 通过这个方法可以获得. 参考 wp8sdk有关DeviceExtendedProperties…

css-如何对每行中最后一个元素删除边距?

文章目录前言一、负边距一、nth-child()系列)前言 如何从最后一列的每个元素中删除边距&#xff1f; 在元素宽度不确定的情况下&#xff0c;或者如果屏幕很小或用户调整浏览器大小&#xff0c;则每行排列的个数就不确定 因此&#xff0c;在任何情况下&#xff0c;最后一列中出…

Cntlm安装和配置心得

2019独角兽企业重金招聘Python工程师标准>>> 对于那些使用NTLM进行身份验证的网络代理环境&#xff08;即设置上除需要代理主机和端口之外还需要提供域用户和密码&#xff09;来说&#xff0c;通过代理上网是一件头痛的事情&#xff0c;这主要是因为很多软件不支持N…

vim插件之cscope的安装与配置

本文参考自&#xff1a; http://easwy.com/blog/archives/advanced-vim-skills-cscope/ http://blog.csdn.net/dengxiayehu/article/details/6330200 http://blog.csdn.net/daofengdeba/article/details/7606616 插件介绍&#xff1a; cscope是用来查看源代码的工具&#xff0c…

字符串编辑距离(转载)

Levenshtein Distance (LD, 来文史特距离)也叫edit distance(编辑距离)&#xff0c;它用来表示2个字符串的相似度&#xff0c;LD定义为需要最少多少步基本操作才能让2个字符串相等&#xff0c;基本操作包含3个&#xff1a;插入, 删除, 替换&#xff1b;比如&#xff0c;kiteen和…

css媒体查询(手机、平板、PC)

List item css媒体查询PC端按屏幕尺寸整理? 通过上面的电脑屏蔽及尺寸的例表上我们得到了几个宽度 1024 1280 1366 1440 1680 1920 超小屏幕 手机 (<768px) 小屏幕 平板 (≥768px) 中等屏幕 桌面显示器(≥992px) 大屏幕 大桌面显示器 (≥1200px) /* 超小屏幕&#xff08…

C/C++面试题(一)

1、局部变量能否和全局变量重名&#xff1f;答&#xff1a;能&#xff0c;局部会屏蔽全局。局部变量可以与全局变量同名&#xff0c;在函数内引用这个变量时&#xff0c;会用到同名的局部变量&#xff0c;而不会用到全局变量。对于有些编译器而言&#xff0c;在同一个函数内可以…

读书摘录(二)

人们只能听到自己喜欢听的&#xff0c;只能看到自己喜欢看的。博弈论中的一个关键教训&#xff1a;你需要了解对方的想法。你需要考虑他们知道些什么&#xff0c;是什么在激励着他们&#xff0c;甚至他们是怎么看你的。无论你多努力&#xff0c;你都很有可能完全没有机会做到富…

hbase配置详解(转)

转自&#xff1a;http://www.cnblogs.com/viviman/archive/2013/03/21/2973539.html 1 准备工作 因为我只有一台机器&#xff0c;所以&#xff0c;一切都成为了伪分布&#xff0c;但是&#xff0c;其实和集群是一样的啦。 在hbase配置之前&#xff0c;先确定自己的linux上有两个…

js rem 单位适配(手机、平板、PC)?

js rem单位适配<script type"text/javascript">// 设备区分 &#xff08;安卓、火狐、平板、PC&#xff09;var os function() {var ua navigator.userAgent,isAndroid /(?:Android)/.test(ua),isFireFox /(?:Firefox)/.test(ua),isTablet /(?:iPad|Pl…

hdu 4160 Dolls (最大独立)

点击打开链接 需要排下序。。 #include"stdio.h" #include"string.h" #include"stdlib.h" #define N 501 struct node {int a,b,c; }aa[N]; int map[N][N],v[N],link[N]; int n; int cmp(const void*a,const void*b) {struct node *c,*d;c(struc…

破解中国电信华为无线猫路由(HG522-C)自己主动拨号+不限电脑数+iTV

中国电信总是把好好的一个路由猫阉割过后放在我的E家套餐里到处兜售&#xff08;垄断市场也就罢了&#xff0c;还有非常多霸王条款&#xff0c;比方必须使用它们的手机&#xff0c;同一时候最多多少台电脑上网等等&#xff09;&#xff0c;曾经破解过另外一个中国电信的路由猫&…

移动端适配(必须要知道的,亲测有效)

关于移动端适配&#xff08;必须要知道的&#xff0c;亲测有效&#xff09;一、各种单位概念理解二、移动&#xff0c;web开发三、移动端适配1、视口(viewport)概念2、视口(viewport)适配&#xff08;代码&#xff09;3、rem单位适配flexible方案竖屏、横屏、ipad、PC最全的适配…

silverlight 如何在浏览器的新页面里打开一个xaml

这个问题搜了大半天&#xff0c;综合各方观点&#xff0c;还是把它给实现了&#xff0c;小有成就感 打开一个新的浏览器窗口&#xff0c;silverlight并不支持这种做法。打开一个新的浏览器窗口意味着打开另一个应用页面。只需要获得那个应用的url&#xff08;如http://www.163.…

如何安装MySQL软件

1 双击EXE进行安装&#xff0c;在"Developer Components&#xff08;开发者部分&#xff09;"上左键单击&#xff0c;选择"This feature, and all subfeatures, will be installed on local hard drive."&#xff0c;即"此部分&#xff0c;及下属子部…

使用curl登陆上网账号

我们学校要上外网必须要使用校园账号登陆&#xff0c;一般都是使用客户端&#xff0c;但是也可以使用web版登陆。最近装了一台服务器&#xff0c;因为是纯字符界面的ubuntu&#xff0c;所以要想安装软件&#xff0c;得联外网&#xff0c;没办法使用客户端或网页形式&#xff0c…