Ruby简明入门和抓牢

【夯实Ruby基础】Ruby快速入门,夯实ruby快速入门

本文地址: 

文档提纲

 

图片 1

扫描关注微信公众号 

图片 2

最简单的,codepad网站直接运行,代码复制过去,选择ruby.

2.Ruby语法

  2.1)【字符串】

    – 【输出】

1 puts "Hello, world!"

    –【中文编码】

      中文会出现乱码,解决方法为只要在文件开头加入 # -*-
coding: UTF-8 -*-
(EMAC写法) 或者 #coding=utf-8 就行了

#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-

puts "你好,世界!";

  2.2)【类】

class Customer
end

    — ruby的类,必须先定义,才能使用

  –代码示例

#!/usr/bin/ruby

class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   end
   def display_details()
      puts "Customer id #@cust_id"
      puts "Customer name #@cust_name"
      puts "Customer address #@cust_addr"
    end
    def total_no_of_customers()
       @@no_of_customers += 1
       puts "Total number of customers: #@@no_of_customers"
    end
end

 

本文地址: 文档提纲
扫描关注微信公众号 1.Ruby安装 1…

2.Ruby语法

  2.1)

    –

1 puts "Hello, world!"

    –

      中文会出现乱码,解决方法为只要在文件开头加入 # -*-
coding: UTF-8 -*-
或者 #coding=utf-8 就行了

#!/usr/bin/ruby -w# -*- coding: UTF-8 -*-puts "你好,世界!";

  2.2)

class Customerend

— ruby的类,必须先定义,才能使用

  –代码示例

#!/usr/bin/ruby class Customer   @@no_of_customers=0   def initialize(id, name, addr)      @cust_id=id      @cust_name=name      @cust_addr=addr   end   def display_details()      puts "Customer id #@cust_id"      puts "Customer name #@cust_name"      puts "Customer address #@cust_addr"    end    def total_no_of_customers()       @@no_of_customers += 1       puts "Total number of customers: #@@no_of_customers"    endend
 module Show def show_msg puts self.class end Pi = 3.14 end class Person include Show end class Desk include Show end Pi = 2 puts Show::Pi #注释:3.14 Person.new.show_msg #Person Desk.new.show_msg #Desk

1.Ruby安装

  1.1)【安装Ruby】

    Linux/Unix 上的 Ruby 安装

    Windows 上的 Ruby 安装

$  sudo yum install ruby    # CentOS, Fedora, 或 RHEL 系统
或
sudo apt-get install ruby-full # Debian 或 Ubuntu 系统

$ brew install ruby  #苹果系统

 

  1.2)【交互式 Ruby(IRb)】

    命令提示符中键入 irb,一个交互式 Ruby Session 将会开始

1.Ruby安装

  1.1)

    Linux/Unix 上的 Ruby 安装

    Windows 上的 Ruby 安装

$  sudo yum install ruby    # CentOS, Fedora, 或 RHEL 系统或sudo apt-get install ruby-full # Debian 或 Ubuntu 系统

$ brew install ruby  #苹果系统

  1.2)【交互式 Ruby

    命令提示符中键入 irb,一个交互式 Ruby Session 将会开始

 puts 'hello world'

文档提纲

String的前面有四个上级

扫描关注微信公众号

希望这本小书成为你学习Ruby的起点,再见!

本文地址:

class FancyMarkup attr_accessor :indents, :html def initialize @indents = 0 @html = "" end # Catch-all method to avoid creating methods # for each HTML element. def method_missing(m, *args, &block) tag(m, args, &block) end # The first method called when creating an # HTML document. def document(*args, &block) tag(:html, args, &block) end private # Create the HTML tag # @param (String|Symbol) HTML tag (ul, li, strong, etc...) # @param  Can contain a String of text or a Hash of attributes # @param  An optional block which will further nest HTML def tag(html_tag, args, &block) content = find_content options = html_options(find_options html << "n#{indent}<#{html_tag}#{options}>#{content}" if block_given? @indents += 1 instance_eval(&block) @indents -= 1 html << "n#{indent}" end html << "</#{html_tag}>" end # Searching the tag arguments, find the text/context element. def find_content args.select{|arg| arg.is_a? String}.first || nil end # Searching the tag arguments, find the hash/attributes element def find_options args.select{|arg| arg.is_a? Hash}.first || {} end # Indent output number of spaces def indent " " * indents end # Build html options string from Hash def html_options options.collect{|key, value| value = value.to_s.gsub('"', '"') " #{key}="#{value}"" }.join endendoutput = FancyMarkup.new.document do body do div id: "container" do ul class: "pretty" do li "Item 1", class: :active li "Item 2" end end endendputs output

[请我喝一杯,手机支付宝]

结束语:单元测试是质量的保证。

变更:

第二章 初级:类和对象

  • incoming测试状态。

  • outgoing分command和query,command就是有输出,query没有输出。

    • outgoing command测试行为,用mock模拟对象。
    • outgoing query不用测试。

图片 3

欢迎开启有趣的Ruby之旅!

当然本书主要还是入门书,更多的请参考《Ruby元编程》这本书。

第三章 块

DSL是特定领域语言,rails里有很多例子,rake, rspec,
migration等等。下面这个例子演示了原理,主要用了method_missing。学完后,再看那些rails代码就比较亲切了。

分类是符合人的思维的。比如人类,每个人就是人类的一个实例,约定都翻译成对象。

各种对象语言的原理是类似的,但是内部实现模型是不一样的。Ruby用起来简单,内部很复杂的。

图片 3

<h1 id=’tips’>附录 学习Ruby的一些小窍门</h1>

图片 5

第四章 模块

可以网上实验,或者本机实验。

图片 3

主要包括测试对象和依赖对象。

希望你写下阅读的感受和改进意见。

原图:

目标读者:

 #注释:定义类 class Person def initialize @name = name end #定义方法 def show_name puts @name end end #创建对象 zhao = Person.new 'zhao yun ' qian = Person.new 'qian jin ' #调用方法 zhao.show_name qian.show_name

第一章 简介

第五章 中级:单元测试

提高

当然这只是入门书,修行要看你自己了。

2015-1-26:改写单元测试,更容易理解

为了帮助你学习更轻松些,我尽量选择了简单的内容。

发表评论

电子邮件地址不会被公开。 必填项已用*标注