山东大学软件服务工程——ruby_intro.rb实验代码
来源:互联网 发布:爱思苹果助手 for mac 编辑:程序博客网 时间:2024/05/22 02:21
# Part 1
def sum arr
# YOUR CODE HERE
return 0 if arr.empty?
s = 0
arr.each do |i|
s += i
end
s
end
def max_2_sum arr
# YOUR CODE HERE
if arr.size == 0
return 0
elsif arr.size == 1
return arr[0]
else
arr = arr.sort
arr[arr.size-1]+arr[arr.size-2]
end
end
def sum_to_n? arr, n
# YOUR CODE HERE
if arr.size == 0
return false
elsif arr.size == 1
return false
else
arr.each do |i|
arr2 = arr.compact
arr2.delete(i)
return true if arr2.include?(n-i) == true
end
false
end
end
# Part 2
def hello(name)
# YOUR CODE HERE
return "Hello, "+name;
end
def starts_with_consonant? s
# YOUR CODE HERE
if s == ''
return false
elsif s =~ /^[^a-zA-Z](.*)/
return false
elsif s =~ /^[aeiouAEIOU](.*)/
return false
else
return true
end
end
def binary_multiple_of_4? s
# YOUR CODE HERE
if s == ''
return false
elsif s =~ /^[01]*$/
if s.to_i(2) % "100".to_i(2) == 0
return true
else
return false
end
return false
end
end
# Part 3
class BookInStock
# YOUR CODE HERE
@isbn = nil
@price = 0.00
def initialize isbn,price
if isbn == '' || price <= 0
raise ArgumentError
end
@isbn,@price = isbn,price
end
def isbn
@isbn
end
def isbn= isbn
if isbn == ''
raise ArgumentError
end
@isbn = isbn
end
def price
@price
end
def price= price
if price <= 0
raise ArgumentError
end
@price = price
end
def price_as_string
"$"+format("%0.2f",price)
end
end
阅读全文
0 0
- 山东大学软件服务工程——ruby_intro.rb实验代码
- 山东大学计算机网络实验——Protocol Layers
- 山东大学软件测试技术实验三报告
- Buffer-Overflow Vulnerability Lab——山东大学网络攻防实验
- Remote DNS Cache Poisoning——山东大学网络攻防实验
- 山东大学软件学院计算机组成原理实验一
- 山东大学软件学院计算机组成原理实验二
- 山东大学软件学院计算机组成原理实验3
- 山东大学软件学院计算机组成原理实验4
- Attacks on TCP/IP Protocols——山东大学网络攻防实验
- Cross-Site Scripting (XSS) Attack Lab (Web Application: Elgg)——山东大学网络攻防实验
- 山东大学 图形学 openGL实验一
- 数据结构——红黑树(RB-Tree)
- STL学习——RB-tree篇
- STL源码剖析——RB-tree
- 山东大学计算机组成原理整机实验
- 山东大学操作系统实验6MIPS交叉编译
- 山东大学java程序设计实验报告6数组
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- 实训笔记第五天
- iOS中的Socket编程(三)
- android_android studio配置SVN详解
- 精通比特币
- 山东大学软件服务工程——ruby_intro.rb实验代码
- YARN任务提交流程
- Ubuntu中vi命令的编辑模式下方向键和退格键不能正常使用
- BZOJ 4925: 城市规划 差分
- GTS:com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testDefaultGrants
- Opencv- createTrackbar()
- ZOJ 1602
- Netty系列之Netty高性能之道
- 安卓怎么搭建开发环境 安卓开发环境搭建教程