RUBY - 技术教程文章
Ruby on Rails Session 1: How to Build a Ruby on Rails on the Ubuntu.【代码】
About Ruby on RailsRuby on Rails is an application stack that provides developers with a framework to quickly create a variety of web applications. Ruby on Rails does take a little while to install on a virtual server, but luckily there are a lot of helpful tools to make this process as easy as possible. You can run this tutorial on your droplet as a user with sudo privileges. You can check out ho...
ruby : nil?, empty? and blank?的选择【代码】
article = nil article.nil? # => true empty? checks if an element - like a string or an array f.e. - is empty:# Array [].empty? #=> true # String "".empty? #=> true Rails adds the method blank? to the Object class:An object is blank if it‘s false, empty, or a whitespace string. For example, "", " ", nil, [], and {} are blank.This simplifiesif !address.nil? && !address.empty? toif !address.bla...
Ruby中任务构建工具rake的入门
参考:http://www.jb51.net/article/81476.htmRake简介Rake的意思是Ruby Make,一个用ruby开发的代码构建工具.但是,为什么Ruby需要Rake? 按理说Ruby代码无需编译,应该不需要Rake才对呀?原来,Rake另有妙用,即把Rake当做一个任务管理工具来使用...这样做有两个好处:1.以任务的方式创建和运行脚本 当然,你可以用脚本来创建每一个你希望自动运行的任务.但是,对于大型的应用来说,你几乎总是需要为数据库迁移(比如Rails中db:migrate任...
ruby 去掉文件里重复的行
old = File.open(ARGV[0]).collect new = File.open(ARGV[1],"a+") for i in 0..old.length-1 new.write(old.uniq[i]) end ##或简单两行也可以如qc.rb old = File.open(ARGV[0]).collect puts old.uniq 然后qc.rb dic.dic >new.dic 原文:http://www.jb51.net/article/17819.htm
ruby简单的基础 4
后缀标点符号=结尾如果方法名字以=结尾的,那么在调用此方法时可以省略这个=。?结尾作为一个有用惯例,那些返回布尔值的方法通常都有一个以问号结尾的名字。!结尾这个命名惯例通常时对两种方法区分:以感叹号结尾的方法通常会改变调用它们的对象,不以感叹号结尾的方法则不会修改调用它们的对象,而是修改原始对象的一个拷贝。圆括号在ruby中,圆括号通常是可选的而且一般都被省略掉,尤其是在调用那些不带参数的方法时更是如...
win7安装ruby on rails【代码】
开发机:win7 旗舰版 - 64位1,安装ruby,下载rubyinstaller-2.0.0-p451.exe下载地址:http://rubyinstaller.org/downloads/1.1 选择安装目录:(如:D:\Ruby200)1.2 安装过程中: 需要勾选所有选项(安装插件、执行执行rb扩展的文件) 验证:cmd 中 ruby -v 显示版本号则说明正常gem -v2,安装devkit,下载DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe2.1解压至一个目录中(如:D:\DevKit)2.2运行cmd在ruby-kit目录中 执行 rub...
Ruby和Shell脚本实现判断成绩及格功能
需求为:从键盘输入分数,以此来判断,0-59为不及格,打印“您没有及格,请下次努力!”,60-79为及格,打印“您的成绩及格,请更加努力!”,80-100为成绩良,打印“您的成绩为优秀,请再接再厉!”,如果输入为0-100以外的分数,请打印“您的成绩为优秀,请再接再厉!”如果采用ruby方式,代码比较精简,如下所示:复制代码 代码如下: #!/usr/bin/ruby print "请输入您的分数: " grade = gets.to_i #grade = name.to_i case grade ...
C#实现Ruby的负数索引器【代码】
publicclass InvertibleList<T> : List<T>{publicnew T this[int index]{get{if (index >= 0) returnbase[index];if (Count + index < 0)thrownew IndexOutOfRangeException();returnthis[Count + index];}set{if (index >= 0)base[index] = value;else{if (Count + index < 0) thrownew IndexOutOfRangeException();this[Count + index] = value;}}}}使用方法: InvertibleList<string> list=new InvertibleList<strin...
安装ruby on rail【代码】
安装:# nvm 安装, 两种方法 $ curl https://raw.githubusercontent.com/creationix/nvm/v0.8.0/install.sh | sh $ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.8.0/install.sh | sh# rvm 安装 $ \curl -sSL https://get.rvm.io | bash -s stable首先通过 curl 或者 wget 将安装脚本下载下来,将内容输出到标准输出。这一步对应上面的 curl -ssL 或者 wget -qO-,一定要注意将错误或者异常输出过滤掉,保证标准...
Ruby 基于websocket的前台及后台实时推送【代码】
Ruby websocket实时消息推送 实现步骤如下:1. 获取GoEasy appkey.在goeasy官网上注册一个账号,并新建一个app. APP创建好后系统会为该app自动生成两个key, 一个既可以用来接收又可以用来推送 (supper key),另一个只可以用来接收(subscriber key).2. 客户端订阅一个channel.a. 在客户端引入goeasy.js, js地址:http://cdn.goeasy.io/goeasy.js需要注意的是,不能将goeasy.js下载到本地,因为goeasy会根据不...
Ruby【代码】
刚刚接触ROR所以想把学习过程一步步记录下来,以便将来以史为鉴(哈哈)!首先来介绍下我各方面总结精简得到的概念:Ruby on Rails是一个web框架,它很容易在很短的时间内建立功能强大的web应用程序。Ruby on Rails是用Ruby编程语言编写的,所以我们先来学习ruby是不是被我的转折吓着了?~~~这样子也是为了调动学习的激情,有目标生活才有乐趣对不对?我们先来细细的研究下Ruby的概念,看看我们能了解到什么。(1)Ruby是一种编程语...
ruby 第五次作业 part 1【代码】
movies_controller.rbclass MoviesController < ApplicationControllerdef movie_paramsparams.require(:movie).permit(:title, :rating, :description, :release_date)enddef showid = params[:id] # retrieve movie ID from URI route@movie = Movie.find(id) # look up movie by unique ID# will render app/views/movies/show.<extension> by default enddef index@all_ratings = Array.newMovie.select(:rating).distinct.ea...
shoulda-matchers--Ruby单元测试小帮手【代码】
详细文档大家可以点击github的官方说明,不过是英文版本哦 https://github.com/thoughtbot/shoulda-matchersshoulda-matchers provides Test::Unit- and RSpec-compatible one-liners that test common Rails functionality. These tests would otherwise be much longer, more complex, and error-prone. shoulda-matchers对应了可以测试Rails常规功能的方法,使得测试用例非常简洁高效如何安装使用? (1)把下面的几行加到Gemf...
Mac上更新Ruby【代码】【图】
因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7。所以需要对Ruby进行升级。这里使用RVM对Ruby进行升级,升级过程如下:1、安装 RVMRVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset) $ curl -L get.rvm.io | bash -s stable 等待一段时间后就可以成功安装好 RVM。 $ source ~/.bashrc $ source ~/.bash_pro...
ruby api 2.1新增改变
-> 这个符号可以替换lambda%i 生成符号数组 %i(foor bar baz) #[:foo,:bar:baz]def 定义方法 eg: def foo(x: 1); puts; endhash {a:1,b:2}替换{:a=>1,:b=>2}r 数字后面接r表示有理数 1.2rArray.try_convert 转换成数组对象Array.rotate 通过转动产生数组,将第一个元素放到最后,理解成左轮-手-枪-旋转Array.keep_if 删除使代码块结果为false的元素Array#sample 选择一个随机元素Array#repeate...
21点游戏,命令行的,面像过程的写法。Ruby
21点游戏,命令行的,面像过程的写法。ruby 的写法以后再试试。# this is game 21 point # 操作命令符 空没有操作,n下一步,抽牌;w亮牌结束;l认输 $ope = '' $prompt = '>' $x1 = 0 $x2 = 0 $x3 = 0 $pc = 0 $u1 = 0 $u2 = 0 $u3 = 0 $over = ''def out_main(a = 0, b=0, c=0, pc = 0, us1=0, us2=0, us3=0)puts "21 point Game "puts " -- wide288 author"putsputs " PC is keys "if pc == 0puts "...
解决 rubygems.org 无法访问的问题!【代码】
我的博客用的 Bundle,每次要 bundle install 可能会遇到无法访问的问题:解决方法 Ruby China 官网有,替换一下镜像源就可以了:这里记录下我的过程,方便以后直接配置:1. 更新 gem没加 sudo 提示我需要 root 权限,所以我加了权限:sudo gem update --system 查看下更新的版本 2.7.7 没问题:gem -v2.7.7 2. bundle config 修改 ruby-china 镜像官网说的使用 Gemfile 和 Bundler 的项目直接执行以下命令即可替换镜像,不用修改 ...
Android开发之Ruby实现Android自动化屏幕适配【代码】
背景:我相信对于Android开发者来说,屏幕适配一直是你心中的痛~,为了让Android开发者从屏幕适配的痛苦中解脱出来,我决定实现这个Android自动化屏幕适配的1.0版本。下面来讲一下思路。首先以values-w360作为标准也就是360dp,对应的设备就是720×1080俗称的720P的屏幕,也就是说设计师给的设计稿是以720P的屏幕作为设计图的,那么如果设计图上面的尺寸是100px,那么我们就需要用100/2 = 50dp得到我们的这个标准值,以此类推,将app...
c#生成COM组件供Ruby调用【代码】【图】
一、使用c#编写一个COM组件1.打开VS2012,新建项目-类库,取名叫MyCom,点击确定2.编辑Class1.csusing System; using System.Text; using System.Runtime.InteropServices;namespace MyCom {publicinterface MyInterface{int add(int a, int b);string hello(string name);}publicclass MyClass : MyInterface{publicint add(int a, int b){return a + b;}publicstring hello(string name){returnstring.Format("Hello, {0}, This ...
Yosemite安装libv8和therubyracer
yosemite ruby version升级的时候,会碰到类似Make sure that `gem install libv8 -v ‘3.16.14.3‘` succeeds before bundling的问题。原因是因为 libv8、therubyracer、OS这三者是集成在一起的。会因为版本的不同而出错。解决方法:1.查看自己的ios版本ruby -rubygems -e ‘puts Gem::Platform.new(RUBY_PLATFORM)‘对照下面的表格找出与自己版本相符合的therubyracer版本。CPUOSOS Versionlibv8therubyraceramd64freebsd83.3.10...
10个惊艳的Ruby单行代码【代码】
1.数组中的每个元素乘以2(1..10).map { |n| n * 2 }2.数组中的元素求和(1..1000).inject { |sum, n| sum + n }或使用(内置的)Symbol#to_proc语法,自Ruby?1.8.7之后可用:(1..1000).inject(&:+)甚至就直接传递一个符号:(1..1000).inject(:+)3.验证在字符串中是否有tokens存在words = ["scala", "akka", "play framework", "sbt", "typesafe"]tweet = "This is an example tweet talking about scala and sbt."words.any? { |wor...
ERB预处理ruby代码【代码】
cucumber.yml 文件可以用erb预处理,这样允许你在cucumber.yml文件中使用ruby代码生成值。所以如果你有几个配置要用相同值时,你可以这样写# config/cucumber.yml ##YAML Template --- <% common = "--tags ~@wip --strict" %> default: <%= common %> features html_report: <%= common %> --format html --out=features_report.html features 原文:http://www.cnblogs.com/timsheng/p/5334219.html
CentOS中配置Ruby on Rails环境
详细安装步骤:一、更新Python centos 中默认安装的python是2.4的版本,因为新版的rails需要提供nodejs的相关支持,需要更新python,更新文章可以直接移步到这个链接 http://www.tomtalk.net/wiki/Python复制代码 代码如下: yum install -y bzip2* #nodejs 0.8.5需要,请安装python前,先安装此模块。 wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz tar zvxf Python-2.7.3.tgz cd Python-2.7.3 ./co...
Ruby(面向对象程序设计的脚本语言)入门
Ruby是一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言。简单介绍Ruby 是开源的,在Web上免费提供,但须要一个许可证。Ruby 是一种通用的、解释的编程语言。Ruby 是一种真正的面向对象编程语言。Ruby 是一种类似于 Python 和 Perl 的server端脚本语言。Ruby 能够用来编写通用网关接口(CGI)脚本。Ruby 能够被嵌入到超文本标记语言(HTML)。Ruby 语法简单,这使得新的开发者可以高速轻松地学习 Ruby。Ruby 与 C+...
Ruby Warrior —— 用游戏学习Ruby (附全部关卡代码)
游戏地址:https://www.bloc.io/ruby-warrior今天发现了这个好玩的游戏,一下午通关。Level 1# 方法调用 class Playerdef play_turn(warrior)warrior.walk!end end Level 2# if-else表达式 class Playerdef play_turn(warrior)if warrior.feel.enemy?warrior.attack!elsewarrior.walk!endend end Level 3# if-elsif-else表达式 # 注意play_turn是每回合执行一次,所以先战斗,再回满血,再前进 class Playerdef play_turn(warrior)...
redis requires Ruby version >= 2.2.2问题
最近在研究redis的集群,redis官方提供了redis-trib.rb工具,但是在使用之前 需要安装ruby,以及redis和ruby连接:yum -y install ruby ruby-devel rubygems rpm-buildgem install redis其中 gem install redis命令执行时出现了: redis requires Ruby version >= 2.2.2的报错,查了资料发现是Centos默认支持ruby到2.0.0,可gem 安装redis需要最低是2.2.2解决办法是 先安装rvm,再把ruby版本提升至2.3.31.安装curlsudo yum install...
Ruby基础知识之基本流程控制
(一)条件判断 条件判断为基本式:复制代码 代码如下: if expression code end 表达式如果不是false或nil,则可执行code部分,所以对于else来说,如果为false或nil,则else下的代码是要执行的。要注意的是表达式与执行代码之间要有分界符:例如换行或分号或是then关键字。 多条件分支情况下,除了可以用else if之外,可以用省略式:elsif复制代码 代码如下: if expression1 code1 elsif expression2 code2 e...
Ruby中的String对象学习笔记
1、String对象定义String对象的定义可以使用""和‘‘,对于单纯的字符串,推荐使用‘‘进行定义,效率比""高,""与‘‘的区别在于,‘‘内的字符串定义后就是最终形态,即使如\n换行符,也会原样输出,而""更像是一个表达式,解析器会针对其中的特殊字符进行处理,然后才会输出,如下示例代码:复制代码 代码如下: i = 100 s1 = ‘The value of i variable is #{i}!\n‘ #The value of i variable is #{i}!\n [未输出变量i的值,并...
基于Ruby的Watir-WebDriver自动化测试框架【代码】【图】
Watir-WebDriver —— 软件测试的自动化时代 QQ群:160409929 支持哪些浏览器?几乎所有的浏览器: 比如Firefox, Chrome 和IE,除了Safari。支持网页上哪些元素?watir-webdriver支持所有的HTML元素运行模式是什么?Watir-WebDriver是基于ruby开发web驱动框架自动化测试框架根据不同业务开发相应自动化用例,由Ruby测试框架统一调用分析展示。实现出入口统一,工具类封装;降低用例开发复杂度,...
Ruby on Rails Tutorial 第一章 之 Git项目管理
1、安装和设置(1)git的安装(略)(2)初始化设置 $ git config --global user.name "LihuaSun" $ git config --global user.email "12***50@**.com" $ git config --global push.default matching #向后兼容新的git版本(3)第一次使用仓库要做的设置 $ git init $ git add -A $ git status $ git commit -m "Initialize repository" $ git log(4)公钥管理 $ ssh-keygen -t rsa -C "1254575850@qq...