我的这个解法书里面没有,就贴出来吧。
module LCD
SCREEN=[
[0,1,3,4,5,6], # 0 LCD
[3,6], # 1 LCD
[0,2,3,4,5], # 2 LCD
[0,2,3,5,6], # 3 LCD
[1,2,3,6], # 4 LCD
[0,1,2,5,6], # 5 LCD
[0,1,2,4,5,6], # 6 LCD
[0,3,6], # 7 LCD
[0,1,2,3,4,5,6], # 1 LCD
[0,1,2,3,6] # 1 LCD
]
CHARS=["_","|", "_", "|", "|", "_", "|"]
FILL=[lambda{ |size| Array.new(size){ |i| [0,1+i]}}, # 0
lambda{ |size| Array.new(size){ |i| [1+i,0] }}, # 1
lambda{ |size| Array.new(size){ |i| [size,1+i] }}, # 2
lambda{ |size| Array.new(size){ |i| [1+i,size+1] }}, # 3
lambda{ |size| Array.new(size){ |i| [size+1+i,0] }}, # 4
lambda{ |size| Array.new(size){ |i| [2*size,1+i] }}, # 5
lambda{ |size| Array.new(size){ |i| [size+1+i, size+1] }}, # 6
]
def init_array(size)
ret = Array.new(3+size*2){ Array.new(3+size){ ' '}}
end
def lcd_single(num, size=1)
"\n"+join(fill(init_array(size), SCREEN[num],size))
end
def lcd(num, size=1)
data = []
num.to_s.each_byte do |c|
data.push(fill(init_array(size), SCREEN[c.chr.to_i],size))
end
join(sum(data))
end
def sum(data)
data.inject do |sum, item|
sum.each_index do |index|
sum[index] = sum[index] + item[index]
end
end
end
def fill(data,screen,size)
screen.each do |item|
FILL[item].call(size).each do |row,col|
data[row][col]=CHARS[item]
end
end
data
end
def join(data)
data.map{ |row| row.join}.join("\n")
end
end
分享到:
相关推荐
这本书的描述简洁明了,"Best of Ruby Quiz"直接点出了其核心内容——一系列关于Ruby的精彩挑战和问题解答,旨在提升编程技能。 Ruby是一种面向对象的、动态类型的编程语言,由日本的松本行弘(Yukihiro Matsumoto...
通过查看提供的文件列表,我们看到有“Pragmatic.Bookshelf.Best.of.Ruby.Quiz.Mar.2006.pdf”,这很可能是《Pragmatic Programmer》出版社出版的一本关于Ruby Quiz的最佳解答合集,其中可能包含了对这个具体挑战的...
读者大多可以想出一种办法来解决这些问题,往往还能 通过思考和重构找到第二种优雅的设计,但这本书却给你列出了第三种、第四种真正精巧的解决方案——充分利用Ruby技巧才能得出的解决方案。
2. **元编程**:Ruby的强大之处在于其元编程特性,允许你在运行时修改和创建代码,这在书中的一些问题中会有所体现,例如定义方法、动态属性、类和模块的扩展等。 3. **正则表达式**:Ruby的正则表达式功能强大且...
2. **面向对象编程**:Ruby是面向对象的语言,书中将详细讲解类、对象、继承、模块等核心概念。读者将了解到如何定义类,创建对象,以及如何利用继承和模块来组织和复用代码。 3. **块、迭代器与闭包**:Ruby中的块...
综上所述,《Pragmatic Bookshelf Best of Ruby Quiz Mar 2006》是Ruby开发者提升技能、扩展知识视野的宝贵资料,通过解答书中提出的各种问题,读者可以深入理解Ruby语言的精髓,提高编程能力,并了解业界的最佳实践...
#### 一、《Pragmatic Bookshelf: Best of Ruby Quiz Mar. 2006》概述 - **书籍标题**:本书名为《Pragmatic Bookshelf: Best of Ruby Quiz Mar. 2006》,是一本专注于Ruby编程语言的经典练习册。 - **书籍内容**:...
内含 12 本 Ruby 语言中英文教程资源,本资源下载后解压缩将得到以下图书: Programming Ruby 2nd.pdf Agile Web Development with Rails 2nd ed.pdf Agile Web Development with Rails.pdf Best.of.Ruby.Quiz.pdf O...
### MongoDB与Ruby:深入探索文档型数据库及其在Ruby中的应用 #### 一、MongoDB简介 MongoDB是一款基于分布式文件存储的开源文档型数据库系统,它由C++编写而成,适用于处理大规模数据集。MongoDB的设计哲学是为了...
【描述】"kinggnu-quiz2" 的描述中没有提供具体的信息,这通常意味着我们需要查看项目源代码或文档来获取详细信息。这可能是一个使用特定编程语言(如Python、JavaScript等)构建的Web应用程序,用于创建和管理技术...
Best of Ruby Quiz – Free Pdf Book
"quiz-app-2"似乎是一个基于编程的项目,可能是一个在线问答应用的第二版。由于没有具体的标签,我们可以从常见的编程实践和应用开发的角度来解析这个项目。 在开发一个问答应用时,通常会涉及到以下几个核心知识点...
文件名 "Best of Ruby Quiz Volume One.pdf" 暗示了一本书籍,可能是系列中的第一卷,专门收集了关于Ruby编程的智力挑战或问题解答。这种类型的书籍通常会涵盖各种编程技巧、最佳实践以及对语言特性的深入理解,对于...
2. `quiz.hiscore`:高分榜文件,存储了用户在测验中取得的最高分数,可能是以文本或数据库格式记录,以便程序读取并展示给用户,激发他们挑战更高的分数。 3. `lookmain.rb`:这是一个Ruby脚本,可能是主界面或者...
项目2(标题) 团队 ,,和 概述 准备作为软件开发人员(网络)进行第一次面试? 好吧,我们为您准备了游戏。 申请Tech Job Corp ^的工作,为现实生活中的下一次面试做好准备,并为您的下一次面试做准备。 ^ Tech ...
Ruby Quiz DRY 在 Rails 中使用 http 方法 开发板 模特协会 JSON API 结构 第一阶段:基础 快速回顾: https : //gist.github.com/harryworld/ceebff030e0933516b29 编程历史 GitHub jQuery 咖啡脚本 功能 ...
项目文件名列表中提到了`imba-political-quiz-master`,这通常表示它是项目的主要分支或源代码仓库。Imba是一种编程语言,设计用于构建Web应用,它结合了JavaScript的灵活性和Ruby的简洁性,提供了高效的DOM操作和...
2. **题目库管理**:平台需要有一个题库,包含各种难度级别的编程题目。这些题目可能包括编写函数、解决算法问题或修复代码片段。题目数据可能存储在数据库中,每个题目有相应的描述、输入/输出示例、测试用例以及...