Ruby学习笔记1 -- 基本语法和数据类型, Class
Ruby 有4种数据类型:String, Boolen, Array, Hashes
Ruby 有3种操作方法:Method, attribute, ??
Ruby 有xxx: Classes, Object....
====先来看数据类型====
1. String and Declaring the variables:
- name = "Wonder Woman" #declare a var and store a string
- puts name <span style="white-space:pre"> </span>#puts -- print out the var
- sum = 5 + 1.4
- puts sum
- correct = 1 == 1
- puts correct
2. Arrays:
- cities = ["chongqing","beijing","shanghai"]
- puts cities[1]; #print out the SECOND city
3.Hashes:
注意这句话:We can access any value by naming its key
- seasons = { "Spring" => 20, "Summer"=>30, "Autumn"=>20, "Winter"=>02}
- puts seasons["Winter"]
- #{ ? , ? , ? }
- # "key"
- # "key" => value
- # access: HashName[ "key" ] = value
4. Declare and Refer the variables
- foods = ["apple", "pear", "orange"]
- puts "my favourite foods are #{foods}"
- # here we use #{} to refer to the variables.
5. Methods
For all object types, Ruby has a number of built in methods that allow us to change the object. Let's look at a few common ones:
a. Strings: .reverse, .capitalize
b. Numbers: + , - , * , /
c. Arrays: .delete, .count
d. Hashes: .compare, .flatten
用.号来调用methods.
- colors = ["oo", "tt" , "tt", "ff"]
- puts colors.first # call the method .first on array
6. Define our own methods
- def clock(time)
- puts "It's #{time}!"
- end
- clock("10:00pm") #note the ""
7. if ... else ... end
- num = 6
- if num.even?
- puts "This int is even."
- else
- puts "This int is odd."
- end # don't forget the end
8. Iterator - 迭代器
for Array and Hash ,使用迭代器来遍历Access each element.
- names = ["Tommy","Catty","Barry","Sunny"]
- names.each do |nname|
- puts "hello #{nname}!"
- end
9. Classes - 类
关于Class的声明和使用:
- class Person
- def hello
- puts "hello"
- end
- end
- person1 = Person.new
- person1.hello
- person2 = Person.new
- person2.hello
another e.g.
- class Person
- def initialize(name, age)
- @name = name
- @age = age
- end
- def intro
- puts "My name is #{@name} and I am #{@age} years old"
- end
- end
- person1 = Person.new("Lupe", 8)
- person1.intro
- class Dog
- def initialize(name,color)
- @name = name
- @color= color
- end
- def describe
- puts "My name is #{@name} and I am #{@color}"
- end
- end
- dog1 = Dog.new("Rover","beige")
- dog1.describe
Ruby学习笔记1 -- 基本语法和数据类型, Class的更多相关文章
- js学习笔记1:语法、数据类型与转换、运算符与运算
注意: 上部代码错误,将停止运行,下部的代码无法显示 typeof 用来定义内容类型,不会输出内容只会输出类型 一.js输出语法 1. 弹窗输出('')内的内容: ...
- JavaScript学习笔记(5)——JavaScript语法之数据类型
JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: var x // x 为 undefined var x = 6; // x 为数字 var x = "Bill&q ...
- JavaScript:学习笔记(2)——基本概念与数据类型
JavaScript:学习笔记(2)——基本概念与数据类型 语法 1.区分大小写.Test 和 test 是完全不同的两个变量. 2.语句最好以分号结束,也就是说不以分号结束也可以. 变量 1.JS的 ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- Java学习笔记之---基础语法
Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- Ruby学习笔记4: 动态web app的建立
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...
- python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样
python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入 ...
随机推荐
- flume 前世今生
Cloudera 开发的分布式日志收集系统 Flume,是 hadoop 周边组件之一.其可以实时的将分布在不同节点.机器上的日志收集到不同的存储系统.Flume 初始的发行版本目前被统称为 Flum ...
- PHP代码实现2 [从变量和数据的角度] 2
常量 常量的数据结构 1234567 typedef struct _zend_constant { zval value; /* zval结构,PHP内部变量的存储结构,在第一小节有说明 */ in ...
- Delphi 的 Bit
我一直感觉 Delphi 下的Bit操作不是很好使, 所以一直屏蔽着这方面的学习.不过最近收集整理了一下代码. 原因是这样的. 由于某个需求被分解成 在 0~n(不定) 中,有几个数字被置换成了“tr ...
- mysql编译安装(详细)(转载)
mysql编译安装(详细) 一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...
- Docker镜像构建上下文(Context)
镜像构建上下文(Context) Dicker在构建镜像时,如果注意,会看到 docker build 命令最后有一个 ... 表示当前目录,而 Dockerfile 就在当前目录,因此不少初学者以为 ...
- Windows Remote Shell(WinRM)使用介绍
最近,为了实验我们安装了台Windows Server Core的服务器,没有图形界面的系统总会给人一种很完全的感觉,我们本着安全到底的想法,使用了Windows Remote Shell 的管理方式 ...
- TeamViewer 的早期版本下载
对于10及上以的:https://www.teamviewer.com/zhcn/download/previous-versions/ 5~9的版本下载:https://community.team ...
- Linux ssh服务器配置
配置文件在/etc/sshd_config,注意只有root可rw,其他所有用户权限为---. 配置说明可参考man sshd_config. 如果更改了服务器端口号,并且启用了SELinux,需要执 ...
- C++进阶--派生类的析构(虚析构函数,shared_ptr)
//############################################################################ /* 在多态虚基类中声明一个虚析构函数 * ...
- Mongodb条件查询Query的用法
Query.All("name", "a", "b");//通过多个元素来匹配数组Query.And(Query.EQ("name ...