Seven Languages In Seven Weeks: Week 1 (Ruby) - Day 1

Seven_Languages_in_Seven_Weeks《七周七语言》高清英文版 Seven_Languages_in_Seven_Weeks《七周七语言》高清英文版.pdf 立即下载
打算收集这一系列的文章,好不容易发现的,感觉作者有些功力,希望能学到东西,哇咔咔!

E文一般的同学也能看懂,近期有时间会翻译一两篇。

Seven Languages In Seven Weeks: Week 1 (Ruby) - Day 1

27 Nov 2011

Out of the seven languages in this book, Ruby is the one I was most familiar with previously. It made for an easy start, and gave me a bit of momentum before I started to tackle languages like Prolog. I’m appreciative of that, because Prolog sure was a struggle for a while.

(This article is part of a series of posts I am doing about my journey through the exercises of the book Seven Languages In Seven Weeks. This article is the first one in the series. For an overview see the project page.)

Day 1 of Week 1 was pretty basic - a bit of string manipulation and looping. Ruby makes things like this very short and pretty.

For example, being able to repeat a string like: "Nick " * 10 or loop like: (1..10).each { |num| do_stuff(num) } is great.

Here is my full code listing for the exercises from Day 1 of Ruby. The home of this piece of code is with the other exercises on github.

# Find:
# 1. A method that substitutes a part of a string
puts "\nFind:"
puts "\n1."
puts "BAM".gsub "M", "TMAN"


# Do:
# 1. Print the string "Hello World"
puts "\nDo:"
puts "\n1."
puts "Hello World"

# 2. For the string "Hello, Ruby," find the index of the word "Ruby."
puts "\n2."
# literally:
p "Hello, Ruby,".index "Ruby."
# realistically:
puts "Hello, Ruby".index "Ruby"

# 3. Print your name ten times
puts "\n3."
puts "Nick " * 10

# 4. Print the string "This is sentence number 1," where the number 1 changes
# from 1 to 10
puts "\n4."
(1..10).each { |num| puts "This is sentence number #{num}" }

# Bonus: Write a program that picks a random number. Let a player guess the
# number, telling the player whether the guess is too low or too high.
puts "\nBonus:"

random_number = rand(1000) + 1
guess = 0

while guess != random_number do
    print "Pick a number between 1 and 1000: "
    guess = gets.to_i
    puts "Too low!" if guess < random_number
    puts "Too high!" if guess > random_number
end

puts "Got it! It was #{random_number}"
And the output:
$ ruby day1.rb

Find:

1.
BATMAN

Do:

1.
Hello World

2.
nil
7

3.
Nick Nick Nick Nick Nick Nick Nick Nick Nick Nick 

4.
This is sentence number 1
This is sentence number 2
This is sentence number 3
This is sentence number 4
This is sentence number 5
This is sentence number 6
This is sentence number 7
This is sentence number 8
This is sentence number 9
This is sentence number 10

Bonus:
Pick a number between 1 and 1000: 500
Too high!
Pick a number between 1 and 1000: 250
Too high!
Pick a number between 1 and 1000: 125
Too low!
Pick a number between 1 and 1000: 192
Too high!
Pick a number between 1 and 1000: 158
Too high!
Pick a number between 1 and 1000: 141
Too high!
Pick a number between 1 and 1000: 133
Too high!
Pick a number between 1 and 1000: 129
Got it! It was 129



Seven More Languages in Seven Weeks.pdf Seven More Languages in Seven Weeks.pdf 七周七语言(英文版)第二版 对计算机语言的选择有一定的帮助很好的书。 立即下载

相关推荐

Seven Languages in Seven Weeks.pdf

A Pragmatic Guide to Learning Programming Languages Author: Bruce A. Tate The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell

Seven More Languages in Seven Weeks (读书笔记):Elm

Elm Day 1 > [1, "2"] //强类型,要求数组内元素必须是同一个类型?Building Algebraic Data Types:> type Color = Black | White //Haskell语法? type List = Nil | Cons Int Listtype List a = Empty | Cons a (List a) Using

cteng的专栏 653

VirtualBox增强功能安装全指南:从下载到配置复制粘贴功能

本文详细介绍了VirtualBox增强功能的完整安装与配置流程,重点解决了虚拟机与主机间复制粘贴、文件拖放等核心协作难题。通过分步指南和故障排查,帮助用户在不同操作系统(如Windows、Linux)中实现无缝集成,提升虚拟化工作效率与体验。

weixin_29206669的博客 419

读《七周七语言》(Seven Languages in Seven Weeks)

这个书名好长啊,刚开始看,装了一下Ruby,发现挺好玩的,等读完再好好感受一下。 转载于:https://www.cnblogs.com/SeaUrchin/p/5021630.html

weixin_30908649的博客 149

从零开始!在 Windows 上安装与配置 Dify

这篇博客将详细介绍如何在 Windows 系统上部署 Dify,适合零基础用户。从 Docker 和 WSL 的安装配置开始,逐步指导用户设置 Git、Docker 环境以及 Dify 配置文件,解决可能遇到的端口冲突等问题,最终完成 Dify 的启动和测试。通过简明易懂的步骤,帮助用户在本地成功运行 Dify,实现模型供应商配置,让 Dify 项目在 Windows 平台上顺利上线。

qq_49035156的博客 5万+

声品质粗糙度matlab,声品质的应用分析方法

声品质的应用分析方法2016-04-05 09:18:57阅读次数:14198摘要:声品质分析在噪声的主观评价方面已经得到越来越多的应用。本文比较了声品质分析与传统计权声级的区别,并介绍了在声品质分析的实际应用中,针对稳态信号、非稳态信号的几种不同分析方法,以及各分析方法的要求和特点。关键词:声品质,响度,尖锐度,粗糙度,波动度1前言传统评价噪声的方法主要为计权声压级,用以反映声音的大小。但是人耳...

weixin_30767323的博客 2438

开始阅读《七周七语言》

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

weixin_33969116的博客 144

UE5深度图与Mask图渲染实战:从基础到高级应用

本文详细解析了在UE5中渲染深度图与Mask图的完整实战流程。从启用电影渲染队列、配置自定义深度模板通道等前期准备,到构建即用型深度图材质网络与精准物体Mask生成,并深入探讨了二者结合在NPR风格化、程序化雾气及AI工作流(如ComfyUI)中的高级应用,为影视、游戏后期与AI创作提供了高效的解决方案。

weixin_29001419的博客 349

Seven languages in seven weeks (notes on Erlang)

Erlang: built for concurrency, functional language, no threading, lightweight processes, distributed language passing, reliability: "let is crash", hot-swap code

MADNESS 819

基于单片机的自动喷淋系统设计【毕业设计】

随着人民生活质量提高与生活节奏的加快,城市居民对于花草绿植的家庭培养与装饰需求增加,随之因浇灌植物的需要,智能浇花系统的市场逐渐扩大。现有自动浇花系统大部分只能通过设置固定浇水时间而难以实现适时、适量浇水,或在植物环境土壤含水量低时进行报警而并不能实际补水。为克服局限性而设计以单片机为控制中心的自动浇花系统。通过湿度传感器检测目标植物环境土壤湿度数据,再经ADCO832将其放大转换为数字量,由单片机读取输出向LCD1602 显示屏显示并通过比对键盘向单片机所设置的湿度范围而利用中断服务程序进行补水需求判断。

qq_48771816的博客 1711

【考试大纲】中级多媒体应用设计师考试大纲

中级多媒体应用设计师考试大纲

邓邓子的博客 382

Seven languages in seven weeks (notes on Prolog)

Prolog: facts, rules, queries (like SQL) capitalization: word begin with lowercase character --> atom (fixed value) ;  begin with uppercase letter or underscore --> variable (swi-prolog in cygwin:

MADNESS 926

基于matlab的阈值分割的车牌定位识别系统

车牌自动识别模块是现代社会智能交通系统(ITS)的重要组成部分,是图像处理和模式识别技术研究的热点,具有非常广泛的应用。车牌识别主要包括以下三个主要步骤:车牌区域定位、车牌字符分割、车牌字符识别。本案例通过对采集的车牌图像进行灰度变换、边缘检测、腐蚀及平滑等过程进行车牌图像预处理,并由此得到一种基于车牌颜色纹理特征的车牌定位方法,最终实现了车牌区域定位。车牌字符分割是为了方便后续对车牌字符进行匹配,从而对车牌进行识别。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 969

Seven More Languages in Seven Weeks (读书笔记):Julia

Julia Day 1 julia> typeof(5)~0 位取反5 $ 6 //=> 3implicit = {:a => 1, :b => 2, :c => 3}explicit = [:a => 1, :b => 2, :c => 3] //静态类型限定?Float64[1, 2, 3] //有点Go语言语法的味道?切片:animals[2:end]多维数组:A = [1 2

cteng的专栏 857

【YOLO26实战全攻略】09——YOLO26多目标跟踪实战宝典:从原理到智慧园区人流统计全流程

多目标跟踪(MOT)是视频分析的核心技术,解决了单帧检测无法关联目标身份的痛点。本文基于YOLO26轻量化检测模型与ByteTrack跟踪算法,从新手视角出发,系统讲解多目标跟踪的核心原理、环境搭建、实操步骤与工程落地。内容涵盖ByteTrack分层关联策略解析、YOLO26集成跟踪的一行代码实现、配置参数调优、区域计数、轨迹数据提取与热力图可视化,最终通过智慧园区人车流量统计虚拟案例,完整呈现从技术原理到实际应用的全流程。本文注重实用价值,所有代码可直接复现,参数配置附带场景化建议,帮助新手快速上手。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 355

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Seven languages in seven weeks (notes on Ruby)

Ruby Syntactic sugar: describes a language feature that makes code easier to read and write, though there are alternative ways to express the same code. Ruby’s creator, doesn't worry about the e

MADNESS 842

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Seven languages in seven weeks (notes on Haskell)

Haskell

MADNESS 686

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Seven languages in seven weeks (notes on Scala)

Scala unifying functional and object-oriented programming  A functional language has these characteristics: • Functional programs are made up of functions. • A function always returns a valu

MADNESS 1023

Seven More Languages in Seven Weeks (读书笔记):miniKaren

miniKaren Day 1 $ lein new logical //从Clojure boost?user=> (use 'clojure.core.logic)user=> (run* [q] (== q 1))user=> (run* [q] (membero q [1 2 3])) //默认返回所有可能的答案 user=> (run 2 [q] (membero q

cteng的专栏 884

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages/Bruce A. Tate-图书...

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages/Bruce A. Tate-图书-卓越亚马逊Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages [平装]...

weixin_33768481的博客 208

这才是真正的爱好,看到这个我震惊了!

很多人都是想挣钱才去进入IT行业,或者从最底层的一线程序员开始,或者是从事投机工作,但是都是为了钱,这是很多人的初衷, 但是自从我编程以来,我想的一直是如何创造出来更好玩的事情,更好玩的东西,如果我为了很多钱的话,我会果断去经商! 我现在花很多时间编程,锻炼我的debug技术

hack2me---Just for fun 874

SMart Tv ----最流行电台

计划做的是类似豆瓣电台的电台应用,但是又和豆瓣的电台不一样,因为是电视机子上用的嘛。 因为不熟悉系统,走了很多弯路,现在感觉有一点上手了,其实我的兴趣兴奋点还是在游戏上,大家都爱玩嘛,不爱玩的程序员不是好程序员,不爱鼓捣的程序员不是好厨师。 三星Smart TV这套系统如果没

hack2me---Just for fun 835

自编java细节(3)----之你不可能得到正确的结果

我很高兴这一刻我又有了新的进展,又找到了新的好玩的东西, 先来看看下面的一段程序 public static boolean isOdd(int i){ return i % 2 == 1; }你可否会考虑一下上面的方法是否总是正确,它是否会得到意想不

hack2me---Just for fun 670

今天没时间写了

明天补上

hack2me---Just for fun 534
上一篇: Java靠强大的JVM维护了一个蓝领级语言?
下一篇: 你的Java知识有多深?
程序员迈克
码龄16年 36粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值