Ruby学习-第一章
第一章
字符串,数字,类和对象
为了证明Ruby真的好用,hello world也能写的如此简洁:
- puts 'hello world'
1.输入/输出
- print('Enter your name')
- name=gets()
- puts("Hello #{name}")
注:Ruby是区分大小写的
2.String类
puts("Hello #{name}")中的变量 name是内嵌在整个String里的,通过 #{ } 包裹进行内嵌求值,并用双引号""包裹(如果只是单引号''只会返回字面值)。不仅是变量,你甚至可以嵌入"\t""\n"和算数表达式。
- puts "Hello #{showname}"
- puts( "\n\t#{(1+2) * 3}\nGoodbye" )
3.if……then 语句
- taxrate = 0.175
- print "Enter price (ex tax): "
- s = gets
- subtotal = s.to_f
- if (subtotal < 0.0) then
- subtotal = 0.0
- end
- tax = subtotal * taxrate
- puts "Tax on $#{subtotal} is $#{tax}, so grand total is $#{subtotal+tax}"
- 每个if须有end与之对应,而then可选,除非它与if在同一行。
- to_f()方法对值为浮点数的String返回浮点数本身,对于不能转化者返回 0.0
4.val、$val、@val的区别
val是局部变量,$val是全局变量,@val是实例变量
实例变量就相当于成员变量
5.如何定义一个class
看两段代码
- class Dog
- def set_name( aName )
- @myname = aName
- end
- def get_name
- return @myname
- end
- def talk
- return 'woof!'
- end
- end
- class Treasure
- def initialize( aName, aDescription )
- @name = aName
- @description = aDescription
- end
- def to_s # override default to_s method
- "The #{@name} Treasure is #{@description}\n"
- end
- end
- 成员变量需用@标示
- 无参方法可以不加()
- 每个类要用end结束
- 默认有无参构造器initialize(),也可以重写带参数的initialize()
Ruby学习-第一章的更多相关文章
- web学习第一章
web学习第一章 我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...
- oracle学习 第一章 简单的查询语句 ——03
1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- Intel汇编语言程序设计学习-第一章 基本概念
第一章基本概念 1.1 简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...
- swift系统学习第一章
第一节:变量,常量,类型推断,字符,字符串 //swift学习第一节 /* 变量 常量 类型推断 字符 字符串 */ import UIKit //变量 var str = "swift&q ...
- Artech的MVC4框架学习——第一章初步认识ASP.NET MVC
前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对A ...
- C#高级编程 (第六版) 学习 第一章:.Net体系结构
第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...
- Ruby学习-第二章
第二章 类继承,属性,类变量 1.如何声明一个子类 class Treasure < Thing 这样Thing类中的属性name,description都被Treasure继承 2.以下三种方 ...
随机推荐
- Php 使用 fsockopen发送http请求
<?php function HTTP_Post($URL,$data, $referrer="") { // parsing the given URL $URL_Info ...
- perl lwp 超时问题
lwp 超时问题: jrhmpt01:/root/async# cat a1.pl use LWP::UserAgent; use utf8; use DBI; use POSIX; use Data ...
- 最长回文(Manacher)
HOT~ 杭电2015级新生如何加入ACM集训队? 最长回文 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- software quality assurance 常见问题收录
1. What is Quality? Quality means, “meeting requirements.” ..Whether or not the product or service d ...
- asp.neti 加密三种方式
public string Get_MD5_Method1(string strSource) { System.Security.Cryptography.MD5 md5 = new System. ...
- 【JAVA】使用Eclipse依赖生成jar包时,避免最外层同时生成资源文件的配置。
使用Eclipse依赖生成jar包时,如果做配置,生成的jar包文件会全部生成在外面,这并不是我们需要的,下面我们一起来修改下配置,使生成的jar包符合我们的需求吧. 1.如果不做任何配置生成的jar ...
- Cannot mix incompatible Qt library (version 0x40801) with this library (version 0x40804)
安装EMAN2(单颗粒重构的软件)之后,运行e2projectmanager.py来启动程序出现了这个错误. 去网上找了一下,发现一个靠谱的方案,这个问题出现是由于EMAN2这个程序自带了Qt的库,而 ...
- Active MQ C#实现
原文链接: Active MQ C#实现 内容概要 主要以源码的形式介绍如何用C#实现同Active MQ 的通讯.本文假设你已经正确安装JDK1.6.x,了解Active MQ并有一定的编程基础. ...
- phpeclipse
http://phpeclipse.sourceforge.net/update/stable/1.2.x/
- ELK架构浅析
转自:http://blog.csdn.net/lively1982/article/details/50678657 ELK是Elasticsearch.Logstash.Kibana的简称,这三者 ...