ruby

原创 2013年12月01日 22:40:54
$A="A"
$B="B"
$C="C"
$D="D"
class Employee
  def initialize(empNo,empName,empScore)
    @empNo=empNo
    @empName=empName
    @empScore=empScore
  end


  def empno
    return @empNo
  end


  def empname
    return @empName
  end


  def empscore
    return @empScore
  end


  def getLevel(empScore)
    case @empScore
      when   90..100 then  @level=$A
      when  80...90  then  @level=$B
      when  65...80  then  @level=$C
      else
      @level=$D
    end
  end


    def level
      return @level
    end
end


# 排序过程
def bubble_sort(arr,sortedFlag)
  if sortedFlag == "s"
    puts "你选择了升序"
    1.upto(arr.length-1) do |i|
      (arr.length-i).times do |j|
        if arr[j].empscore>arr[j+1].empscore
          arr[j],arr[j+1] = arr[j+1],arr[j]
        end
      end
    end
  else
    puts "你选择了降序"
    1.upto(arr.length-1) do |i|
      (arr.length-i).times do |j|
        if arr[j].empscore<arr[j+1].empscore
          arr[j],arr[j+1] = arr[j+1],arr[j]
        end
      end
    end
  end
  arr
end




$emps = Array.new
isendFlag = true
while isendFlag
  puts "输入员工工号:"
  empNo = gets()
  puts "输入员工姓名:"
  empName = gets
  puts "输入该员工的成绩(输入0到100之间的数或不能为空):"
  empScore = gets
  empScore = empScore.to_f
  while (empScore < 0 || empScore >100)
    puts "输入该员工的成绩(输入0到100之间的数或不能为空):"
    empScore = gets
    empScore = empScore.to_f
  end
  emp=Employee.new(empNo.chop!,empName.chop!,empScore)
  emp.getLevel(empScore)
  $emps << emp
  puts "是否继续输入员工信息(Y/N):"
  isGoon = gets
  isGoon.chop!
  if isGoon == "N" or isGoon == "n"
    isendFlag = false
  end
end
puts "总共输入#{$emps.size}个员工的信息,详细如下:"
puts "工号  姓名  分数  等级"
$emps.each do |i|
   print "#{i.empno}   #{i.empname}    #{i.empscore}  #{i.level}"
  print "\n"
end


while true
  puts "希望按升序(s)还是降序(j)或退出(exit):"
  sortedFlag = gets
  sortedFlag.chop!
  if sortedFlag == "exit"
    break
  end
  bubble_sort($emps,sortedFlag)
  puts "排序结果:"
  puts "工号  姓名  分数  等级"
  $emps.each do |i|
    print "#{i.empno}   #{i.empname}    #{i.empscore}  #{i.level}"
    print "\n"
  end
end

Ruby String常用函数

1、 单引号中的字符串 单引号的字符串中,连续两个\会被一个\替换 例: ‘nds\\’  #->  nds\ ‘nds\\\’  #-> 出错 ‘nds\\\y’  #->  nds\\y...
  • dazhi_100
  • dazhi_100
  • 2013年07月25日 20:52
  • 8240

Cocoapods安装和使用及Ruby环境安装

作为iOS程序员,掌握 CocoaPods 的使用是必不可少的基本技能,它能帮助我们很好的管理第三方框架,减轻我们的工作,操作和安装起来也都很简单。 在安装CocoaPods之前,首先要在本地安...
  • jnbbwyth
  • jnbbwyth
  • 2016年07月15日 09:05
  • 1035

更新ruby镜像

OS EI Capitan无法安装cocoapods和ruby2.3.1,填坑。 字数715 阅读45 评论0 喜欢0 今天工作之余心情不错,想从github上下载个饭否第三方客户端下...
  • SpringJustin
  • SpringJustin
  • 2016年07月06日 10:20
  • 2557

【Ruby】Ruby实现命令行工具——OptionParser

用 Ruby 写命令行工具 当使用 Ruby 写命令行工具的时候,我们在不借助任何内置/外置的命令行参数解析工具的情况下,可以直接从 ARGV 取到传入命令行的参数,然后手工判断,验证并执行后续操作...
  • u010515761
  • u010515761
  • 2014年10月14日 16:53
  • 726

Ruby的正则表达式类 Regexp

正则表达式是一些字符按照一定规则的组合。正则表达式用来表达对字符串的过滤逻辑,已经得到大多数程序设计语言的支持。正则表达式的应用对象是文本,我们可以进行"匹配"、"截取"等工作。正则表达式可以用简单的...
  • u013536429
  • u013536429
  • 2015年11月29日 12:55
  • 1012

Ruby开发工具

Ruby安装 登陆中文网站https://www.ruby-lang.org/zh_cn/downloads/,根据运行平台下载,由于Ruby基于Linux平台开发,所有这里选择Linux平台的Ru...
  • jingjingtr
  • jingjingtr
  • 2014年04月05日 12:21
  • 1411

Ruby学习笔记-正则表达式

Ruby学习笔记-正则表达式   1.创建正则表达式 a)  reg1 = /^[a-z]*$/                             #将模式的定义放...
  • sunyllove
  • sunyllove
  • 2016年10月10日 12:43
  • 1229

Ruby 一些常用的细节

1.try 永远不会抛出异常 在 没有的时候 返回 nil  province_id = Province.find_by_name(prov).try(:id) 2.find(:first,...
  • menxu_work
  • menxu_work
  • 2014年04月26日 17:48
  • 2497

Ruby Integer的常用函数

Integer的常用函数 ruby中的Numeric子类有Integer和Float,Integer根据长度可以分为Fixnum(普通整数)和Bignum(大整数),程序中使用的整数大小一般是Fix...
  • dazhi_100
  • dazhi_100
  • 2013年07月25日 20:54
  • 2009

ruby 用途 与优势

ruby 主要用于做web,如使用 Ruby on Rails  优点: 1 采用虚拟机实现跨平台 2 支持垃圾回收 3 脚本语言,灵活,容易扩展 4 支持面向对象 5 基于脚本语...
  • u013378306
  • u013378306
  • 2016年09月05日 12:00
  • 12488
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ruby
举报原因:
原因补充:

(最多只允许输入30个字)