[译]LRTHW练习五——更多的变量及输出打印

英文版:http://ruby.learncodethehardway.org/book/

繁体版:http://lrthw.github.io/

  这里是将英语转为简体,一边看一边译。有的比较生硬,毕竟只过四级 :( ......

我们现在要输入更多的变量并且将他们输出出来,这次我们将使用一种叫做“格式化输出字符串“的功能,每一次你使用 " (双引号)将一些文字引用起来,你就建立了一个字符串。字符串是程序将信息展现出来的一种形式。你可以输出他们,也可以将他们写入文本,还可以将他们发给网站的服务器等等。

  字符串是一个很好用的东西,所以在这次的练习中你将会学习如何新建变量并且将变量插入到字符串里有使用。使用的方法是利用 一个特殊的运算符#{}并且将变量存放在该运算符的{}里面。这是为了告诉解释器(脚本一般是编码,解释执行;而C/C++语言等是编码编译执行):注意,这个“字符串”需要被替换,然后输出内容就被就被变量的内容替换。

  还跟原来一样:即使你不懂这些代码,也要将其原模原样、一字一词地打出来:

my_name = ‘Zed A. Shaw‘
my_age = 35 # not a lie in 2009
my_height = 74 # inches
my_weight = 180 # lbs
my_eyes = ‘Blue‘
my_teeth = ‘White‘
my_hair = ‘Brown‘

puts "Let‘s talk about #{my_name}."
puts "He‘s #{my_height} inches tall."
puts "He‘s #{my_weight} pounds heavy."
puts "Actually that‘s not too heavy."
puts "He‘s got #{my_eyes} eyes and #{my_hair} hair."
puts "His teeth are usually #{my_teeth} depending on the coffee."

# this line is tricky, try to get it exactly right
puts "If I add #{my_age}, #{my_height}, and #{my_weight} I get #{my_age + my_height + my_weight}."

显示结果(如果结果不对得回去参照对比哪里错了!):

$ ruby ex5.rb
Let‘s talk about Zed A. Shaw.
He‘s 74 inches tall.
He‘s 180 pounds heavy.
Actually that‘s not too heavy.
He‘s got Blue eyes and Brown hair.
His teeth are usually White depending on the coffee.
If I add 35, 74, and 180 I get 289.

Study Drills(课后思考题)

1、更改左右变量的的名称:将所有变量名的“my_”前缀去掉(注意包括下划线。注意要更改所有的,不仅仅是那些赋值操作“=”所涉及的变量。

2、尝试着将一些变量的单位是inches和ponuds换算为centimeters(cm) 和 kilograms(kg). 尝试着用在ruby中使用数学方法来转换,而非直接输出转换后值。

时间: 2024-10-12 23:05:15

[译]LRTHW练习五——更多的变量及输出打印的相关文章

[译]LRTHW练习七——更多输出打印

英文版:http://ruby.learncodethehardway.org/book/ 繁体版:http://lrthw.github.io/ (繁体+英文->简体) 现在添加一批练习,在练习过程中写代码,并让你的代码运行起来.这里不会有很多详细的解释,因为大部分都是以前的内容.这次练习的目的是为了巩固你学到的东西,后面再添加息内容——不要跳过,不要复制粘贴. puts "Mary had a little lamb." puts "Its fleece was w

《Java并发编程实战》第十五章 原子变量与非阻塞同步机制 读书笔记

一.锁的劣势 锁定后如果未释放,再次请求锁时会造成阻塞,多线程调度通常遇到阻塞会进行上下文切换,造成更多的开销. 在挂起与恢复线程等过程中存在着很大的开销,并且通常存在着较长时间的中断. 锁可能导致优先级反转,即使较高优先级的线程可以抢先执行,但仍然需要等待锁被释放,从而导致它的优先级会降至低优先级线程的级别. 二.硬件对并发的支持 处理器填写了一些特殊指令,例如:比较并交换.关联加载/条件存储. 1 比较并交换 CAS的含义是:"我认为V的值应该为A,如果是,那么将V的值更新为B,否则不需要修

习题 5: 更多的变量和打印 | 笨办法学 Python

一. 简述 “格式化字符串(format string)” -  每一次你使用 ' ’ 或 " " 把一些文本引用起来,你就建立了一个字符串. 字符串是程序将信息展示给人的方式. 二. 代码 1 #!usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 # Author: xixihuang 5 # Date : 2016/08/31 09:52 AM 6 # Desc : 习题5:更多的变量与打印 7 # 键入更多的变量并且将它们打印出来.这

C语言变量的输出

#include <stdio.h> int main() {     int n = 100;     char c = '@';  //字符用单引号包围,字符串用双引号包围     float money = 93.96;     printf("n=%d, c=%c, money=%f\n", n, c, money);     return 0; } \n表示换行 //后面的为注释.注释用来说明代码是什么意思,让我们阅读更加方便,它也是代码的一部分.编译器会忽略注释

java-第五章-使用while循环输出:100,95,90..................

最近发现MDT推出去的系统的有不同问题,其问题就不说了,主要是策略权限被域继承了.比如我们手动安装的很多东东都是未配置壮态,推的就默认为安全壮态了,今天细找了一下,原来把这个关了就可以了. java-第五章-使用while循环输出:100,95,90..................

【C语言】使用指向指针数据的指针变量,输出一组字符串

//使用指向指针数据的指针变量,输出一组字符串 #include <stdio.h> int main() { char * name[]={"beijing","huanying","nin","!"}; char **p; int i; for(i=0;i<4;i++) { p=name+i; printf("%s ",*p); } printf("\n"); re

python 变量,输入,输出

目录 2.0 注释 2.1 变量 2.2 变量名命名规范 2.3 常量 2.4 输入 input 2.5 输出 print 2.6 关于开发工具 2.0 注释 python的注释方法 """ 多行注释 """ #单行注释 2.1 变量 问:为什么要有变量? 为某个值创建一个"外号",以后在使用时候通过此外号就可以直接调用. 创建一个变量 name = "gkf" #name是变量名 等号就是声明(或赋值)

Welcome to Swift (苹果官方Swift文档初译与注解五)---29~34页

在Swift中,类的成员变量(属性)如果不需要计算,但又想在给它赋一个新值之前(或者之后)执行一段代码,可以使用willSet 和 didSet来处理.例如下面的代码样例,三角形(triangle)的边长总是与四边形(square)的边长相同. class TriangleAndSquare {   var triangle: EquilateralTriangle {   willSet {     square.sideLength = newValue.sideLength   } } v

第十五章 原子变量和非阻塞同步机制

1.非阻塞算法 如果在算法中,一个线程的失败或挂起不会导致其他线程也失败或挂起,那么这种算法就称为非阻塞算法.如果这种算法的每个步骤中都存在某个线程能够执行下去,那么这种算法也称为无锁算法. 这种算法利用底层的原子机器指令代替锁来确保数据在并发访问中的一致性. 2.硬件对并发的支持 2.1 CAS(Compare-and-Swap) 包含3个操作数--需要读写的内存位置.进行比较的值A和拟写入的新值B.当且仅当V的值等于A时,CAS才会通过原子的方式用新值B更新V的值.无论位置V的值是否等于A,