ruby简单的基本 6】的更多相关文章

类 Ruby一切都是对象,它包含了一个恒定.例如,可以使用.class物业查看对象的类型,你可以看一下1.class.你会发现常1类型是Fixnum,1但它是Fixnum的一个例子. Ruby本类class开始 随着end结束.类名首字母的约定是大写.Ruby中的方法以def開始 以end结束,方法名首字母的约定是小写.Ruby中的局部变量名首字母的约定是小写. Ruby中的构造函数名称为initialize.Ruby中的成员变量(实例变量)前导@符,在initialize里进行声明与初始化.R…
方法和代码块 在Ruby中.{}或do...end之间的代码是一个代码块.代码块只能出如今一个方法的后边,它紧接在方法最后一个參数的同一行上,一般由yieldkeyword调用代码块中的代码. 方法是一个有名的代码块.是与一个或者多个对象相关联的參数化代码. 调用方法时必需要给出方法名.所在对象(接受者),以及零个或者多个參数值,方法中最后一个表达式的值将作为方法调用的返回值. 代码块不是ruby可操作的对象.一般我们用一个Proc对象代表一个代码块.有两种方式的Proc对象,一种是proc.一…
模 像类似的模块,那里 class method 和 instance method.module 没有new不能生成对象的例子其中 class method 所谓的模块在模块化的方法,它能够直接调用. module Foo def self.hello puts 'hello world!' end def Foo.dear #module全局作用域内的self还是没有变,就是Module: puts 'dear..' end NUM = 100 end Foo.hello   #=>  'h…
后缀标点符号 =结尾假设方法名字以=结尾的,那么在调用此方法时能够省略这个=. ?结尾作为一个实用惯例,那些返回布尔值的方法通常都有一个以问号结尾的名字. .结尾这个命名惯例通常时对两种方法区分:以感叹号结尾的方法一般会改变调用它们的对象,不以感叹号结尾的方法则不会改动调用它们的对象.而是改动原始对象的一个拷贝. 圆括号在ruby中,圆括号一般是可选的而且一般都被省略掉,尤其是在调用那些不带參数的方法时更是如此. 字符串内插 由双引號""引起来的字符串中能够包括不论什么ruby表达式.…
1.代码块 代码块是用大括号或者do...end括起来的一系列代码.{ #this is a block} do #this is a blockend [1,2,3,4,5].each {|i| puts i} [1,2,3,4,5].each do |i|puts iend这2中写法效果是一样的.用{}可能更像C的风格 2.作用域 Ruby程序仅仅会在3个地方关闭前一个作用域.同一时候打开一个新的作用域: 类定义, class - end模块定义, module - end方法定义. def…
在UNIX下的我们怎么会沦落到用ruby写压缩和解压工具呢?直接上shell啊!但是请允许本猫这次可耻的用ruby来玩玩吧!其实ruby GEM中有很多压缩解压包,我选的是Zip,也许是因为名字符合KISS原则吧!不过在编写中发现Zip中的某些类没有文档中所说明的实例方法,也许在某个平台上还未实现?? 话先说到前头,这个工具如果解压有重名文件的情况会直接覆盖原文件而不会有任何提示!测试时务必注意,如果造成一些文件丢失可别怪本猫啊! 代码也考虑到多文件的情况,如果是压缩多文件则默认会单独压缩每一个…
[0]Ruby on Rails 系列回顾 [Ruby on Rails系列]1.开发环境准备:Vmware和Linux的安装 [Ruby on Rails系列]2.开发环境准备:Ruby on Rails开发环境配置 [Ruby on Rails系列]3.初试Rails:使用Rails开发第一个Web程序 [Ruby on Rails系列]4.专题:Rails应用的国际化[i18n] [Ruby on Rails系列]5.专题:Talk About SaSS [1]任务目标 本次主要是要实现一…
前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果   序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时感觉没什么用:注意是用:分开两个数字.负号表示倒数第几个 留空表示开头或者结尾,python中的分片可以等距分割,格式是两个冒号 ruby则是[4...7]这样用两个或者三个句号分片,也可以用[1,2]这种逗号 不同的是,ruby似乎不能等距分割,而且ruby逗号方式下两个参数的意义是第一个是起始元…
ruby中有很多经典的驱动器结构,比如枚举器和生成器等.这次简单介绍下生成器的概念.生成器是按照功能要求,一次产生一个对象,或称之为生成一个对象的方法.ruby中的连续体正好可以用来完成生成器的功能.连续体说起来晦涩,其实还是很简单的,它有3个特点: 1. callcc方法会给代码块传一个连续体对象,你可以保存该对象; 2. 当调用连续体的call方法时指令流会跳转到callcc方法之后; 3. 如果给连续体的call方法传递对象,则callcc方法会返回该对象,如果不传递对象,callcc会返…
Ruby on Rails website 的基础是 请求-返回 循环. 首先是浏览器请求服务器, 第二步,Second, in our Rails application, the route takes the request and finds the right Controller and method to handle the request. 第三步,控制器拿到相关数据并发给View模块. 最后,View模块把数据打包好,并且发回给浏览器显示. ----- 搭建开发环境: Cre…
source: https://swtch.com/~rsc/regexp/regexp1.html translated by trav, travmymail@gmail.com 引言 下图是两种正则匹配算法的对比图,其中左边的是许多语言都作为标准使用的算法,而右边的算法则鲜为人知,它是多个版本的awk和grep程序所使用的算法.这两种算法有着惊人的不同表现: 注意到Perl需要大约60秒的时间来匹配长度为29的字符串,而Thompson NFA算法只需要20微秒,两者相差了上百万倍.不仅如…
一. 接着上一篇继续 1.限制微博的长度 在 Rails 中实现这种限制很简单,使用验证(validation)功能即可.要限制微博的长度最多为 140 个字符 (1).打开文件:app/models/micropost.rb class Micropost < ApplicationRecord validates :content, length: {maximum: 140} end 注:这句话的具体意思,稍后再谈,反正猜也能猜出来 (2).然后,看效果: 2.建立关联(一个用户拥有多篇微…
一. 哈希变量(相当于Python中的字典) 详情参看:https://www.runoob.com/ruby/ruby-hash.html 1.值得注意的 (1). 创建Hash时需注意 # 创建一个空的Hash months = Hash.new puts months print(months[1]) # 创建一个具有默认值得Hash months = Hash.new( "month" ) # 或 months = Hash.new "month" puts…
第一个例子: 1 ... 5000的加法运算 1 sum = 0 2 i = 1 3 while true 4 sum += i 5 i += 1 6 break if i == 5001 7 end 8 9 sum = 0 10 (1..5000).each{|i| 11 sum += i 12 } 13 puts sum 第二个例子: 对 零 做除数这种情况进行简单的异常处理 1 a = 100 2 3 while true 4 b = gets.to_i 5 begin 6 puts a/…
之前有看过<ruby设计模式>,不过渐渐的都忘记了.现在买了一个大话设计模式,看起来不是那么枯燥,顺便将代码用ruby实现了一下. # -*- encoding: utf-8 -*- #运算类 class Operation attr_accessor :number_a,:number_b def initialize(number_a = nil, number_b = nil) @number_a = number_a @number_b = number_b end def resul…
class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def talk puts "my name is " +@name+",age is "+@age.to_s if @motherland == "China" puts "I am a China." else puts "I…
今天整理一下ruby中的循环用法: 备注:“do~end”部分也可以写做{~} 1.break:直接跳出整个循环 i= 0 ["perl","python","ruby","scheme"].each{|lang| i += 1 if i ==3 break end p [i,lang] } #=> [1, "perl"][2, "python"] 2.next:会跳过这一次的循环…
一. 安装 Ruby安装:https://ruby-china.org/wiki/rvm-guide 注:安装了RVM和Gem后 安装rails: gem install rails -v 5.1.4 # 指定版本安装 二. 创建Rails项目 rails _5.1.4_ new hello_app # 创建指定rails版本的项目 1.项目目录 2.关于目录文件的解释 3.关于项目中的Gemfile中的依赖包的版本介绍 (1).如果没在 gem 指令中指定版本号,Bundler 会自动安装最新…
参考 http://gorails.com/setup/ubuntu/16.04 概述 Project 2 主要探究对web的攻击,本次试验共有6个部分. Project 2中攻击的是一个提供电子货币服务网站--bitbar(使用ruby 2.4和rails 5.0.2实现). bitbar网站的搭建: 服务器环境搭建 安装Ruby2.4和rails 5.0.2 http://gorails.com/setup/ubuntu/16.04 按照上面网址的布置安装Ruby 2.4和rail 5.0.…
# -*-coding:utf-8 -*-#author:kanlijunrequire 'win32ole'require 'fileutils'class ResultAnalyse @@i=0 @@f=0 def initialize path excel =WIN32OLE.new('excel.application') @workbook =excel.WorkBooks.open(path) @worksheet=@workbook.Worksheets(1) end #获取exc…
require 'nokogiri'XML_FILE = "C:\\Users\\chenpassion\\Desktop\\20130806.xml"xml = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE)xml.xpath('//NewspaperReport').each {|x|    if !x.attributes.include?("DownloadState") || x.attributes[…
require'win32/registry' hkey_local_machine=Win32::Registry::HKEY_LOCAL_MACHINE defgetKeyValue(hive, key_path, key_name) reg_obj=hive.open(key_path, Win32::Registry::KEY_READ) begin reg_typ, reg_val = reg_obj.read(key_name) rescue Win32::Registry::Err…
介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) . 安装过程 1. 下载并解压 cd /root/software wget http://download.redis.io/releases/redis-3.2.4.tar.g…
一.处理数据的基本内容 数据分析 是指对数据进行控制.处理.整理.分析的过程. 在这里,“数据”是指结构化的数据,例如:记录.多维数组.Excel 里的数据.关系型数据库中的数据.数据表等. 二.说说 Python 这门语言 Python 是现在最受欢迎的动态编程语言之一(还有 Perl.Ruby 等).近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django. Python 这类语言被称为脚本语言,因为它们可以编写简短粗糙的小程序,即脚本.不过这好像在说 Py…
CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像实在太多坑了,琢磨了一下另一种安装cocoapods的方法.在终端中,进入该目录. cd ~/.cocoapods/repos 若没有以上目录,执行下面指令,出现.cocoapods的目录后可以ctrl+c终止安装.sudo gem install cocoapods是常规的安装方法,不过现在只是用…
1.什么是redis? 在过去的几年中,NoSQL数据库一度成为高并发.海量数据存储解决方案的代名词,与之相应的产品也呈现出雨后春笋般的生机.然而在众多产品中能够脱颖而出的却屈指可数,如Redis.MongoDB.BerkeleyDB和CouchDB等.由于每种产品所拥有的特征不同,因此它们的应用场景也存在着一定的差异,下面仅给出简单的说明:      1). BerkeleyDB是一种极为流行的开源嵌入式数据库,在更多情况下可用于存储引擎,比如BerkeleyDB在被Oracle收购之前曾作为…
突然今天发现一大神的博客:http://www.cnblogs.com/jackluo/archive/2013/01/22/2871655.html    相信初学者会受益颇多 ruby  参考文档:http://www.tutorialspoint.com/ruby/ 关于ruby 的算法:http://liuzxc.github.io/blog/sorting-algorithm/ 变量类型 描述 示例 局部变量(或伪变量) 以小写字母或下划线卡头 var    _var 全局变量 以$开…
ruby  中的动态方法 http://singleant.iteye.com/blog/1680382 Rails 大量使用了符号(symbol).符号看上去很像变量名,不过以冒号作为前缀.符号的例子包括:action.:line_items.:id 等.可以把符号看作字符串文本,不过——如同魔法般地——被变成了常量. 可以把冒号看作“名字叫做……的东西”,因此:id 的意思就是“名字叫做id 的东西”.Rails 用符号来给别的东西打上标记.尤其是,Rails 常常用符号来给方法参数命名,以…
Ruby安装Scss 引言 已经许久不写HTML了,今天有点以前的东西要改.但是刚装的Windows10,已经没有以前的Web开发环境了.只好重新安装. 结果Webstorm装好后配置Scss出现错误. Ruby官网和淘宝镜像均连接不上,我用的也是https.但是试了不知道多少次才安装成一次.(万恶的墙) 尝试把原来安装后的scss相关的文本拷贝进去(当初就知道有连接不上这么一天), 还是不行. 最后只有自己去GitHub上下Scss的源码 Tips 本文默认读者已经正确安装Ruby 使用Scs…
fzf by ruby */--> fzf by ruby 1 github地址 https://github.com/junegunn/fzf 2 简介 软件通过匿名管道和grep扩展了bash的功能,将bash的自动补全功能由渐进式增量补全增强为正则表达式 搜索式补全,并配以图形选择界面.当然,正则表达式的功能有所削减但也丝毫不影响使用. 3 使用 可以在bash下利用特殊触发字符,或在vim中通过命令FZF使用,也可以用在shell脚本中(fzf::run) 3.1 vim插件配置 将fz…