游戏地址: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的集群,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...
(一)条件判断 条件判断为基本式:复制代码 代码如下: if expression code end 表达式如果不是false或nil,则可执行code部分,所以对于else来说,如果为false或nil,则else下的代码是要执行的。要注意的是表达式与执行代码之间要有分界符:例如换行或分号或是then关键字。 多条件分支情况下,除了可以用else if之外,可以用省略式:elsif复制代码 代码如下: if expression1 code1 elsif expression2 code2 e...
1、String对象定义String对象的定义可以使用""和‘‘,对于单纯的字符串,推荐使用‘‘进行定义,效率比""高,""与‘‘的区别在于,‘‘内的字符串定义后就是最终形态,即使如\n换行符,也会原样输出,而""更像是一个表达式,解析器会针对其中的特殊字符进行处理,然后才会输出,如下示例代码:复制代码 代码如下: i = 100 s1 = ‘The value of i variable is #{i}!\n‘ #The value of i variable is #{i}!\n [未输出变量i的值,并...
Watir-WebDriver —— 软件测试的自动化时代 QQ群:160409929 支持哪些浏览器?几乎所有的浏览器: 比如Firefox, Chrome 和IE,除了Safari。支持网页上哪些元素?watir-webdriver支持所有的HTML元素运行模式是什么?Watir-WebDriver是基于ruby开发web驱动框架自动化测试框架根据不同业务开发相应自动化用例,由Ruby测试框架统一调用分析展示。实现出入口统一,工具类封装;降低用例开发复杂度,...
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...
前言自上一次升级MacOS系统后出现jekyll无法构建的问题,当时处理半天。谁知道最近又升级了MacOS,荒废博客多时,今天吝啬写了一篇准备发布,构建报错,问题重新。还是记录下,以防下次升级出问题。问题描述安装jekyll静态博客需要在Ruby环境下运行,于是参照官方文档命令安装对应的依赖包,但是一大堆报错,坑。 步骤一:运行安装命令 linjiajundeMacBook-Pro:~ linjiajun$ gem install bundler ERROR: While executing gem ... (...
参考我前面的博客:?http://hw1287789687.iteye.com/blog/2288230?http://hw1287789687.iteye.com/blog/2288267(1)更新记录的视图?我原来写的(不成熟):<div>编辑</div><%= link_to "列表", {:action => ‘list‘} %> <div><%= form_for :article, method: "PUT", url: {action: "update"} do |f| %><ul><li><label for="">title:</label><input type="text" name="article[title]" value="<%= @article.title %>"></li><li><label ...
Ruby的模块非常类似类,除了: 模块不可以有实体 模块不可以有子类 模块由module...end定义. 实际上...模块的‘模块类‘是‘类的类‘这个类的父类.搞懂了吗?不懂?让我们继续看下去吧. 模块有两种用法.其一是将相近的方法和实体放在一个相对集中的域里.Ruby标准包里的Math模块就扮演着这一角色: ruby> Math.sqrt(2) 1.41421 ruby> Math::PI 3.14159 ::操作符告诉 Ruby 解释器在哪里找常数的值(可以想像,Math外的其它模块用P...
尝试用RVM升级Rubyhttp://blog.csdn.net/lissdy/article/details/9191351如果碰到下面问题Searching for binary rubies, this might take some time.No binary rubies available for: osx/10.11/x86_64/ruby-2.2.4.Continuing with compilation. Please read ‘rvm help mount‘ to get more information on binary rubies.Checking requirements for osx.Installing requirements for osx.Updating system.......Error running ‘...
Scope首先补充一下ruby 中的import(和java对比), require_relativevariables 对于method来说,outside variables的作用域仅限于外部,内部也是,互不干扰。 对于block来说,外部变量的作用域覆盖内部CONSTANCE 可以在method内部使用和修改外部常量,但是修改只作用于内部,不影响外部的值。Access Control两种将method设置为private的方法1. private def test1 .. end2.def test1 ..endprivate:test1 private...
一提到ruby大家就会条件反射似地想起rails,似乎ruby只有一个用途,就是rails。虽然我没写过rails,但我以为ruby语言本身的魅力远远超过rails这个第三方框架。这是一门值得细细品味的语言,与这门语言同样值得品味的还有一本叫《Metaprogramming Ruby》的书。下面是摘自此书的一段话。The Great Unified Theory “The Ruby object model is a beautiful place,”Bill notes, with a dreamy expression on his face. “There are cl...
实现代码:复制代码 代码如下:class Des require ‘openssl‘ require ‘base64‘ ALG = ‘DES-EDE3-CBC‘ KEY = "mZ4Wjs6L" DES_KEY = "nZ4wJs6L" #加密 def encode(str) des = OpenSSL::Cipher::Cipher.new(ALG) des.pkcs5_keyivgen(KEY, DES_KEY) des.encrypt cipher = des.update(str) cipher << des.final return Base64.encode64(cipher) #Base64编码,才能保存到数据库...
#r read, #w write, #a append, #r+ 读写方式 从文件的头位置开始读取或写入, #w+ 读写方式,如果文件已存在清空该文件,不存在就创建一个新的文件, #a+ 如果文件存在就在最后面附加,如果不存在就创建一个新文件。 FileName="newfile.txt" file=File.open(FileName,‘a‘)file.puts ‘test‘ p file.path file.close p File.file?(FileName) #Dir.foreach("C:/") { |dir| puts dir } puts "追加的文件:#{FileName}" File.open(F...
条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别Ruby中条件判断的条件:1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回true和false,这和java中的语法是类似的2) 一些其他的方法也可以用来作为判断条件,比如,empty?方法,为空则返回true,否则返回false3) 有些方法虽然不会返回true或false,但是也能作为条件判断的条件,他们返回的对象,要么是false或nil,要么是意义的对象...