RUBY-数组操作
2015-06-27 16:28
483 查看
#------------------------------------------- 试题描述 -----------------------------------------
# 试题背景:
# 在开发过程中,经常会对数组中的元素按某种规则进行排序
#
# 试题要求:
# (1) 定义一个main方法, 接收一个参数,类型是数组,若不是数组要抛异常;
# (2) 校验数组中的每个元素是字符串,若存在不是字符串的元素抛异常;
# (3) 对数组中的元素按两种方式排序:
# (3.1) 按元素字符串的长度从小到大排序;
# (3.2) 按元素中所有字符的ASCII码之和排序,也是从小到大
# (4) main方法以数组的形式返回两次的排序结果,例如:
# main(["ab", "abc", "a"]) => [["a", "ab", "abc"], ["a", "ab", "abc"]]
#
# 注: 涉及抛出异常地方,异常类型与异常信息不限
#----------------------------------------------------------------------------------------------
#******************************************* 答题区 *******************************************
def main(value)
arry=value
array=Array.new
if arry.class!=Array
puts "Type of input is not an array"
else
t=0
arry.each {|x| t+=1 if x.class!=String}
if t!=0
puts "Type of element is not a string"
exit
else
arr1=arry.sort{|a,b|a.length<=>b.length}
arr2=arry.sort{|a,b|a.sum<=>b.sum}
end
array<<arr1<<arr2
p array
end
end
main(["ab","abc","a"])
#**********************************************************************************************
# 试题背景:
# 在开发过程中,经常会对数组中的元素按某种规则进行排序
#
# 试题要求:
# (1) 定义一个main方法, 接收一个参数,类型是数组,若不是数组要抛异常;
# (2) 校验数组中的每个元素是字符串,若存在不是字符串的元素抛异常;
# (3) 对数组中的元素按两种方式排序:
# (3.1) 按元素字符串的长度从小到大排序;
# (3.2) 按元素中所有字符的ASCII码之和排序,也是从小到大
# (4) main方法以数组的形式返回两次的排序结果,例如:
# main(["ab", "abc", "a"]) => [["a", "ab", "abc"], ["a", "ab", "abc"]]
#
# 注: 涉及抛出异常地方,异常类型与异常信息不限
#----------------------------------------------------------------------------------------------
#******************************************* 答题区 *******************************************
def main(value)
arry=value
array=Array.new
if arry.class!=Array
puts "Type of input is not an array"
else
t=0
arry.each {|x| t+=1 if x.class!=String}
if t!=0
puts "Type of element is not a string"
exit
else
arr1=arry.sort{|a,b|a.length<=>b.length}
arr2=arry.sort{|a,b|a.sum<=>b.sum}
end
array<<arr1<<arr2
p array
end
end
main(["ab","abc","a"])
#**********************************************************************************************
相关文章推荐
- RUBY-二进制文件操作
- RUBY-文件、目录操作
- RUBY-字符串操作
- ruby基-变量
- ruby-模块,类,对象的学习
- ruby-方法
- ruby-数字、字符串、数组
- ruby-Hash
- ruby-数组
- 如何在windows上安装saas
- Ruby中的语句中断和返回
- Ruby更改gem source
- ruby git hook
- ruby 基础 Array 与 Hash 相互转换
- 安装ruby新版本(github上的rbenv文档--)
- erlang和ruby互相调用
- windows下搭建Ruby(基于eclipse的环境)开发环境
- osx 编译安装配置 ruby on rails
- Ruby中的Profiling工具
- Ruby中的Profiling工具