中式编程---Ruby包含枚举编程

临风暖阳 发表于 2022/11/15 08:40:17 2022/11/15
【摘要】 笔者主要用Ruby编写包含枚举案例
class A南京
  include Enumerable
  def initialize( 某些项目 )
    @项目 = 某些项目
  end
  def 遍历
    @项目.each{ |迭代|
      p( 迭代 )
    }
  end
  def each
    @项目.each{ |i|
      yield( i )
    }
  end
end
南京风景 = A南京.new(['夫子庙','老门东','新街口','明孝陵','中山陵'])
南京风景
p( 南京风景.min )
p( 南京风景.max )
p( 南京风景.collect{ |i| i.upcase } )
p( 南京风景.遍历 )

"中山陵"
"老门东"
["夫子庙", "老门东", "新街口", "明孝陵", "中山陵"]
"夫子庙"
"老门东"
"新街口"
"明孝陵"
"中山陵"
["夫子庙", "老门东", "新街口", "明孝陵", "中山陵"]

class A南京
  include Enumerable
  def initialize( 某些项目 )
    @项目 = 某些项目
  end
  def 遍历
    @项目.each{ |迭代|
      p( 迭代 )
    }
  end
  def each
    @项目.each{ |i|
      yield( i )
    }
  end
  def 最小
    @项目.to_a.min{|条目1,条目2| 条目1.length <=> 条目2.length }
  end
  def 最大
    @项目.to_a.max{|条目1,条目2| 条目1.length <=> 条目2.length }
  end
end
南京风景 = A南京.new(['夫子庙','老门东','新街口','明孝陵','中山陵'])
南京风景
p( 南京风景.最小 )
p( 南京风景.最大 )
p( 南京风景.collect{ |i| i.upcase } )
p( 南京风景.遍历 )

"夫子庙"
"夫子庙"
["夫子庙", "老门东", "新街口", "明孝陵", "中山陵"]
"夫子庙"
"老门东"
"新街口"
"明孝陵"
"中山陵"
["夫子庙", "老门东", "新街口", "明孝陵", "中山陵"]

开发环境:Rubymine

The book of Ruby----A hands-on guide for the Adventurous---[英]Huw Collingbourne---no starch press

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。