《七周七语言》之Ruby-第一天

再谈---七周七语言,是否现实,是否只有大佬才能实现 阅读详情

    学习多种编程范型、体会编程之美。
    第一门语言作者选择了Ruby,先是宏观地介绍了语言特点。

  1. Ruby是解释执行的,也就是说Ruby的代码可以逐行的解释执行,也就是我们就可以像学python那样,在终端一行一行地键入代码并执行。
  2. Ruby是纯面向对象语言,纯到基本的常数(自然数1,2,3等)也是对象。
  3. 动态类型,也就是在代码执行时才进行类型检查。

    接下来作者介绍了鸭子类型(duck typing)

只要它像鸭子一样走路,像鸭子一样嘎嘎叫,那它就是鸭子

也就是说不管对象是字符串(String)还是浮点数(Float),我们不关注它的类型,只要它们有to_i这个方法(作用:将对象值转换为int整数),我们就可以认为它可以是“数”。在面向对象程序设计中,鸭子类型至关重要。利用它能够实现依赖反转原则,具体来说就是设计类时固定低层次类的接口而不是固定高层次类的函数实现。

第一天练习题:

# 2.找出字符串“Hello, Ruby.”中"Ruby."所在的下标
"Hello Ruby.".index("Ruby.")

# 3. 打印10次名字
10.times{puts "phil"}

# 加分题:猜数字小程序
maxnum = 10
k = rand(maxnum)
mes = "Guess a number between 0 and #{maxnum}:"

while true
	puts mes
	num = gets().strip().to_i()
	if num == k
		puts "guess right the answer is #{k}"
		break
	end
	puts "too large" if num > k
	puts "too small" if num < k
end

七周七语言 七周七语言 编程语言 立即下载

相关推荐

Python小白也能搞定!用you-get一键下载B站视频合集的保姆级教程

本文为Python新手提供了使用you-get工具一键下载B站视频合集的完整教程。从环境配置、基础下载操作到高级批量下载技巧,详细介绍了如何利用这个开源工具高效获取视频资源,包括解决常见问题和实用优化建议,帮助用户轻松实现离线学习。

weixin_42544663的博客 458

【读书笔记】七周七语言:理解多种编程范型【本文持续更新中!】

文章目录1. 本书概要介绍与第一章阅读笔记 1. 本书概要介绍与第一章阅读笔记 这本书名为 Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages ,作者是 Bruce A. Tate ,即《七周七语言:学习编程语言的实用指南》,不过翻译时改成了《七周七语言:理解多种编程范型》。顾名思义,这本书介绍了七种编程语言——它们的特性、应用、编程入门知识、关键编程范型、运用代表该语言最重要特性的技术解决

memcpy0的博客 1630

通义千问对接FreeSWITCH实现大模型呼叫中心

通义千问是由阿里云开发的大规模语言模型,具备优秀的自然语言处理能力,支持文本生成、问答对话、摘要提取等多种任务。它不仅拥有丰富的知识储备,还能根据上下文灵活调整回答策略,适用于各种复杂场景下的自动化交流。FreeSWITCH是一个开源的多媒体通信服务器,提供了包括VoIP通话、即时消息传递在内的多种通信服务。它的模块化设计允许开发者根据实际需求定制功能,广泛应用于企业级通信系统中。通过集成通义千问,FreeSWITCH能够实现更智能的客户服务体验。

技术永不眠 Q:53195017 1498

带您走进七周七语言的程序世界

编者按 这是一本2011年Jolt大奖图书,在本文中,截选了七门各不相同的语言的概况,这七门语言,无论教还是学,对我们而言都是一个宏伟目标。书中的代码足以深刻阐释每一门语言的精髓。这七门语言都有非常优秀的支持社区,这也是我选择它们的原因之一。本书为你铺就的学习途径...... 第一周:Ruby 有糖相伴好下药。——Mary Poppins 松本行弘(Yukihiro Matsumoto)大

图灵教育 2773

MyBatis示例

MyBatis示例 基本示例 环境准备 jdk : 1.8.0 MyEclipse MySQL MyBatis-3.4.6.jar 新建JavaWeb Project 命名:mybatis 导入JAR包或添加POM.xml中添加依赖 MyBatis_config.xml &amp;amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;amp;quot;1.0&amp;amp;amp;amp;quot; encoding=&a

走在命运的左岸 720

从“跳变”到“连续”:深入理解霍尔传感器插值与PLL角度估算的优劣与选择

本文深入解析霍尔传感器角度估算技术,对比线性插值法和锁相环(PLL)跟踪法的优劣,为电机控制领域的工程师提供实用指南。通过STM32F407和CubeMX的实例,详细探讨两种方法的实现细节、性能对比及优化策略,帮助在不同应用场景下做出最优选择。

weixin_30855761的博客 557

开始阅读《七周七语言》

从今天开始阅读《七周七语言》书籍,《七周七语言》一书涵盖了Ruby、Io、Prolog、Scala、Erlang、Clojure以及Haskell七种语言。每章以"趁热打铁"作为结尾,总结了每门语言的关键点,诸如性能、易变性、不足、优势、可读性等等。事实上,最后一章是对整本书的"总结"。 Tate将大家在学习任何新语言时所常问的问题汇总,并通过这种方式帮助大家学习新语言,这些问题包...

weixin_33969116的博客 144

假期搞定!2026国社科申报AI全攻略指南:从选题到创新,7大核心要点手把手教你!

最后给大家推荐的400多所高校教师都在用的AI平台——高级学术版专业应用平台,集成了国际主流学术应用,以及ChatGPT、Claude、Gemini、Grok等Al大模型的高级版本平台,还有,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。你的任务是:用高度凝练的方式说明在(某一明确国家战略 / 政策方向,如:中国式现代化、共同富裕、基层治理现代化、数字中国、文化强国、国家安全等)背景下,我究竟要研究一个什么“具体而可操作的问题”。

智能AI让学术科研更容易 624

七周七语言:Io Day 1

关于Io programming language 起初看到Io这两个字母的时候,的确觉得比较奇怪,因为为世人所熟知的Io也即Input/output(还记得那门IO系统课……那神奇的汇编)。 关于Io的资料比较少,当然,Io有他风格简洁(btw, 字好小)的官网:iolanguage.org。 Io的源代码托管在Github上,star一下表示关注 : ) 另外有关Io的his...

SUMR_2014的博客 293

SpringBoot整合JWT实战:从零构建无状态认证系统,详解Token生成、验证与安全最佳实践

JWT在SpringBoot中的实现与应用 摘要:本文介绍了JWT(JSON Web Token)的基本概念、与Session机制的对比,以及SpringBoot项目中JWT的整合实现。JWT由Header、Payload和Signature三部分组成,具有无状态、跨域支持等优势。文章详细展示了如何在SpringBoot项目中配置JWT环境,封装JWT工具类来实现Token的生成、解析和验证功能,包括密钥管理、自定义声明、签名验证等核心操作。通过对比表格和生活化比喻,帮助读者理解JWT与传统Session的

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1775

(ICLR 2025)【源码讲解+复现】TIMER-XL: Long-Context Transformers for Unified Time Series Forecasting

本文提出了一种统一的多变量时序预测模型Timer-XL,其核心创新包括:1)采用自回归解码器架构,将多变量时序预测统一为next-token预测问题;2)设计TimeAttention机制,通过相对位置编码和因果掩码捕获时序位置和变量间交互;3)支持长上下文预训练以提升零样本迁移能力。模型架构包含嵌入层、时间感知注意力块和预测头,采用MSE损失进行端到端训练。实验表明该方法在多种时序任务上表现优异,特别是在长跨度预测和少样本场景下。代码实现提供了完整的模型定义、数据加载和训练流程,支持自定义配置参数。

1146

七周七语言自习——Ruby第一天

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34370347的博客 124

博途PLC S7-1200/1500 ModbusTcp通信SCL代码篇(轮询)

博途PLC MODBUS TCP的详细讲解和注意事项,可以参看下面这篇博文,这里不在赘述。这篇作为SCL代码篇主要给出SCL语言下的轮训写法和注意事项。博途PLC1200/1500PLC ModbusTcp通信(轮询处理)_RXXW_Dor的博客-优快云博客。............

RXXW_Dor的博客 8423

七周七语言之Ruby 第一天自习

找 Ruby API文档 Programming Ruby: The Pragmatic Programmer’s Guide [TFH08]的免费在线版本 替换字符串某一部分的方法 有关Ruby正则表达式的资料 有关Ruby区间(range)的资料 做 打印字符串"Hello, world." 在字符串"Hello, Ruby."中,找出"Ruby."所在下标。 打印你的名...

Ryanqy的专栏 264

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

七周七语言:Ruby Day 1

第一天 找 Ruby API 文档:http://ruby-doc.org/core-1.9.3/ Programming Ruby: The Pragmatic Programmer's Guide [TFH08]的免费在线版本:http://www.ruby-doc.org/docs/ProgrammingRuby/ 替换字符串某一部分的方法: 替换一次: "H

fanTasy 1319

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

七周七语言:Ruby Day 2

第二天 找 Ruby用代码块和不用代码块读取文件的方法,用代码块有什么好处? 用代码块读取文件的方法: File.open("text.txt") do |f| puts f.gets end 不用代码块读取文件的方法: f = File.new("text.txt","r") puts f.gets f.close 使用代码块,是一种用来打开...

SUMR_2014的博客 284

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

阅读 七周七语言

看介绍很吸引我。 记下一词: 享受编程 ruby 没有环境在网上找了一个 http://codepad.org, 支持很多语言。   解释型语言 纯面向对象语言. 一切皆对象, 数字是 Fixnum 强类型语言。运行时检查类型。动态语言 (可以在运行过程中,变换类型)  面向接口编程,而不是面向实现。 动态语言 。 有pop,push 的方法的,就可以当做“栈”

u013015430的专栏 572

初识Ruby

以下为看《七周七语言》的第一课,找到答案,参考资料来源于http://book.douban.com/annotation/27705657/ Ruby API文档在这里http://ruby-doc.org/downloads/ Programming Ruby:The Pragmatic Programmer's Guide的免费在线版本http://www.ruby-doc.o...

aoyuan4706的博客 132

七周七语言——Ruby

第一天练习 puts "Pllease input a number between 0-99" a = rand(100) b = gets() c = b.to_i() while c != a if c < a puts "small" else puts "big" end puts "input again:" b =...

weixin_34296641的博客 196

Bruce Tate:恐惧是我写作《七周七语言》的初衷

非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/199590 Bruce Tate现任icanmakeitbetter.com的CTO,他的团队主要工作语言是Elixir以及Ruby on Rails。他曾任职于IBM公司13年,并担任过多家公司的客户解决方...

weixin_33998125的博客 175

七周七语言之用ruby做点什么

如果你想获得更好的阅读体验,可以前往我在 github 上的博客进行阅读,http://lcomplete.github.io/blog/2013/05/25/sevenlang-ruby/。 每学一门语言,思维方式都会发生改变,编程语言亦是如此。 《七周七语言》 编程语言从范型上来划分,主要有过程式语言、面向对象式语言和函数式语言,只有了解这些语言的变化、发展和设计哲...

weixin_30824479的博客 115

《七周七语言:理解多种编程范型》书评整理

任何一个想在程序开发这条路上走远点的人都应当多了解几门语言,多接触一些编程泛型,才能打开眼界,提高自己。 国内绝大多数程序员可能就知道个OOP,借着javascript的兴起可能有小部分人能够对原型有所了解,至于函数式编程之类的有个明确概念的就很少了,像prolog这样的“奇特”语言能有所了解有所接触的可说是万中无一。 《七周七语言》这本书最大的价值在于让你知道:“原来世界上还有这样一种语言,是...

图灵教育官方博客 296

七周七并发模型与七周七语言

借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。——方腾飞,并发编程网站长当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP模型)。而在品读之后,我...

cxzhq2002的杂记 1163

七周七语言之Ruby

1.安装 Ubuntu 14.04 sudo apt-get install ruby version 1.9.1 2.命令行运行: irb 3.文挡查看:man RDoc 4.猜数字 2.2.7程序 guess_number = rand(10) puts "guess the number:" input_number = gets().to_i() succes...

weixin_30394251的博客 87
上一篇: 说一说矩阵求导
下一篇: 《统计学习方法》之AdaBoost代码实现
philpanic9
博客等级 码龄9年 44粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值