Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4562863
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: Python/Ruby

2014-03-04 14:09:12

看到ruby的程序,学习了20分钟的教程:https://www.ruby-lang.org/en/documentation/quickstart/ 明白了ruby运行的大概情况。
下面是我整理的代码,详细解释在英文教程里,ruby里面的end很多,要细心处理:
Ruby语言
#!/usr/bin/env ruby

num_events = ARGV[0].to_i

class MegaGreeter
 attr_accessor :names

 def initialize(names="World")
   @names = names
 end

 def say_hi
   if @names.nil?
     puts "..."
   elsif @names.respond_to?("each")
     # @names is a iterator
     @names.each do |name|
       puts "Hello #{name}!"
     end
   else
     puts "Hi #{@names} !"
   end
 end

 def say_bye
   if @names.nil?
     puts "..."
   elsif @names.respond_to?("join")
     puts "Goodbye #{@names.join(", ")}. Come back soon!"
   else
     puts "Bye #{@names}, come back soon."
   end
 end

end

if __FILE__ == $0
 puts MegaGreeter.instance_methods(false)

 mg = MegaGreeter.new
 mg.say_hi
 mg.say_bye

 puts mg.respond_to?("names=")
 mg.names="Betty"
 mg.say_hi
 mg.say_bye

 mg.names = ["Albert""Brenda""Charles",
     "Dave""Engelbert"]
 mg.say_hi
 mg.say_bye

 mg.names = nil
 mg.say_hi
 mg.say_bye

end

阅读(1092) | 评论(0) | 转发(0) |
0

上一篇:css核心观念

下一篇:几个比较开放的网站

给主人留下些什么吧!~~