ruby the diference between gets and gets.chomp() 二者都是可以获取用户命令行输入的函数,但是 gets获取内容后,后面 附带了 多余的换行符号'\n'; 而gets.chomp() 是对后面多余的换行符'\n' 进行清除. 例如 ex11.rb: print "How old are you? " age = gets.chomp() print "How tall are you? " height = gets p…
Ruby的输入和输出操作.输入是程序从键盘.文件或者其他程序读取数据.输出是程序产生数据.可以输出到屏幕.文件或者其他程序. Ruby中的一些类有些方法会执行输入&输出操作.例如Kernel.IO.Dir或者File.重点注意Kernal ,IO,两种不同方式 输出到终端 Ruby有一些在终端上打印输出的方法.这些方法是Kernel模块的一部分.Kernel模块的方法对于所有的Ruby对象都是有效的. print和puts方法会将文本输出到终端.它们的不同是会在最后加上一个换行符.print实际…
ruby中带“!"和不带"!"的方法的最大的区别就是带”!"的会改变调用对象本身了.比方说str.gsub(/a/, 'b'),不会改变str本身,只会返回一个新的str.而str.gsub!(/a/, 'b')就会把str本身给改了. 但是gsub和gsub!还有另外一个不同点就是,gsub不管怎么样都会返回一个新的字符串,而gsub!只有在有字符被替换的情况下才会返回一个新的字符串,假如说没有任何字符被替换,gsub!只会返回nil. 'abc'.gsub(/a…
还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在http://www.w3cschool.cc/ruby/ruby-string.html中得到的关于Ruby字符串chop和chomp的用法介绍如下:       单从这几句话,还是有些不明白(貌似借鉴于perl语言中的chop和chomp函数的用法),然后百度了一下,我在http://blog.c…
gets方法得到的字符串包含一个“\n”回车符,所以我们需要继续使用chomp方法把"\n"回车符去掉…
1.ruby中生成字符串有两种形式 一种单引号,这种在使用时,对字符串不作处理,照原样输出 双引号就不同了,他会查找字符串中需要替换的字符,例如\n,#{}这种都会先替换为需要的值. 所以在使用的时候要注意是否有要用的值,尽可能多使用双引号. 2.gets和gets.chomp()都表示读入用户的输入并用于输出,但两者还是有所不同,其中gets是得到的内容后,在输出时后面接着换行:而gets.chmop()得到的内容输出时后面不带空格和换行. 3. ..表示包含末端的范围 ...表示不包含末端的…
1.Ruby常用数据类型 Numbers, Strings, Booleans my_num = 25 my_boollean = true (or false) my_string = "Ruby" 2.Ruby常用数学计算操作符 加(+) 减 (-) 乘 (*) 除(/) 幂次方 (**) 求余 (%) 3.Ruby 输出操作 puts 带换行 print 不带换行 打印字符串: print "HelloWorld" (不换行) puts "Hello…
(这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 回到家里,用的还是windows系统,ruby的编辑器换成了Aptana Studio 3 puts "Please input the first Number:"number1=getsputs "Please input a operator(+,-,*,/):"op=getsputs "pleasse input the second Numb…
1.数值类(Numeric) 有理数:Rational(分子,分母) 复数:Complex(实数,虚数) 随机数:Rnadom   rand()  返回比1小的浮点数,rand(种子数)  返回0到该正整数之间的数值 数值间的'_'会被忽略,如123_213=>123213 循环计算:n.times{|i|}  循环n次,从0~n-1 from.upto(to){|i|}  从from递增到to    from.downto(to){|i|} 从from递减到to from.step(to,st…
Becareful!  All nodes include  need to install ruby! #!/usr/bin/ruby # Ruby code for map.rb ARGF.each do |line| # remove any newline line = line.chomp # do nothing will lines shorter than 2 characters next if ! line || line.length < 2 # grab our key…
一.比较语句 大部分和其他的语言一样,这里注意<=>. 条件语句 如下几种形式 if if ..else.. end if..elsif..else..end unless(if not) case..when z 注意在ruby中只有nil和false为假. x=1 if x==1 puts 1 elsif x==2 puts 2 else puts 3 end 注意是elsif,不是elseif.与c相比,多了个end. 但Ruby的case语句和C/C++的格式差异很大: case 被判…
前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果   序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时感觉没什么用:注意是用:分开两个数字.负号表示倒数第几个 留空表示开头或者结尾,python中的分片可以等距分割,格式是两个冒号 ruby则是[4...7]这样用两个或者三个句号分片,也可以用[1,2]这种逗号 不同的是,ruby似乎不能等距分割,而且ruby逗号方式下两个参数的意义是第一个是起始元…
1.try 永远不会抛出异常 在 没有的时候 返回 nil province_id = Province.find_by_name(prov).try(:id) 2.find(:first, :condotions) 方法 不言而与 mobile_info = MobileInfo.find(:first, :conditions => ["mobile_num = ? ", mobile_num.to_i]) 3.find(:all, :select, :conditions)…
啥都不说了,都在代码里 :) #!/usr/bin/ruby BAK_PATH = "/media/backup.tar.xz" def to_backup exclude_files = "" pre_cmd = "sudo tar -cvpJf #{BAK_PATH}" DATA.each_line do |line| exclude_files << "--exclude=#{line.chomp} " en…
Ruby语法基础(三) ​ 在前面快速入之后,这次加深对基本概念的理解. 字符串 ​ Ruby字符串可以分为单引号字符串和双引号字符串,单引号字符串效率更高,但双引号的支持转义和运行 puts '单引号字符串"原样输出"' var = 'hello' puts "双引号可以实现转义\\与运算#{var}" #运算结果 单引号字符串"原样输出" 双引号可以实现转义\与运算hello ​ Ruby字符串有unpack命令,可以把字符串作为一种码做各种…
Ruby零碎笔记 飞机上阅读pdf的笔记,因为不联网,内容不多而且比较零散,以tips的形式记录 tips 查看当前作用域的变量 puts local_variables ruby中方法传递参数时,括号是可选的 脚本开始运行时,main对象会被自动创建,其他内容都包含在main内部.用self可以查看当前属于哪个对象的作用域 字符串中,单括号比多括号高效 多行语句用\作为分行符 在ruby中,除了false,nil是false,其他全都是true(0和''都是true) ruby执行shell命…
# [Ruby 块]=begin1 块由大量代码构成2 块中代码包含在{}内3 从与其相同名称的函数调用4 可以使用yield语句调用块=enddef test p '在test方法内' yield p '又回到了test方法内' yieldend test {p '你在块内'}#也可以传递由参数的yielddef test yield 5 p '在方法内' yield 100endtest {|i| p "你在块#{i}内"} # 传递多个参数def test yield 5,100…
破解密码,上策是社工的方式,下策则是暴力破解了.这里使用暴力破解,字典文件放在txt中:通过调用winrar的相关参数进行操作.经过测试,当字典中密码为100个时,破解耗时8秒(个人配置:i5-3210 2.5GHz, 4GB).不足之处是rar的对话框会一直闪烁,cpu消耗到50%,等高手指导 ################################################################## # description: rar暴力破解程序 # languag…
在codecademy上开始玩ruby了 1.数据类型:boolean,string,number 变量直接用即可,不用声明(“拿来主义”) 运算符:+ - * / ** % == != && ||!> >= < <= 等 输入语句:gets/gets.chomp(后者不包括"/n") 输出语句:puts/print(后者不包括"/n") 用#{变量}输出对应变量的值   2.每个量都是object 都有method stri…
这是一篇翻译文章,原文链接 http://blog.grayproductions.net/articles/understanding_m17n.原文是一个系列,翻译过来整合成了一篇文章,对文章内容做了适当的变化.因为原文是三年前写的,其中某些代码片段的执行结果和最新版本的 Ruby 相比可能会有所不同. Ruby 在进入 1.9 版本时发生了重大的变化,以前 Ruby 堪称是对字符编码支持最差的语言之一,而现在变成了支持最好的语言之一,可以处理不同的字符编码.我们都在成长. 而这一变化带来的…
Ruby 字符串(String) Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符. 最简单的字符串是括在单引号(单引号字符)内.在引号标记内的文本是字符串的值: 'This is a simple Ruby string literal' 如果您需要在单引号字符串内使用单引号字符,那么需要在单引号字符串使用反斜杠,这样 Ruby 解释器就不会认为这个单引号字符会终止字符串: 'Won\'t you read O\'Reilly\'s book…
    函数名称 说明 示例 * 将字符串拷贝N次 “ha”*4    >> “hahahaha” + <<  concat 连接字符串 “yes” + “no”  >> “yesno” "yes" << "no" >> “yesno” "yes".concat("no") <=> 比较字符串,返回值如下: 大于:-1   等于:0    小于:1 &qu…
http://ruby-metaprogramming.rubylearning.com/html/ruby_metaprogramming_2.html http://galeki.is-programmer.com/posts/183.html 1.3.2 send  send( ) is an instance method of the Object class. The first argument to send( ) is the message that you're sendi…
Ruby 异常 异常和执行总是被联系在一起.如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的. 如果异常发生,则程序停止.异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止. Ruby 提供了一个完美的处理异常的机制.我们可以在 begin/end 块中附上可能抛出异常的代码,并使用 rescue 子句告诉 Ruby 完美要处理的异常类型. 语法 begin # - rescue OneTypeOfExce…
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby # This script installs to /usr/local only. To install elsewhere you can just # untar https://github.com/Homebrew/brew/tarball/master anywhere you like or # change the value of…
官方网站:https://www.ruby-lang.org/zh_cn/ 标准库API文档:http://ruby-doc.org/stdlib-2.3.0/ 简介特性安装Ruby 命令行选项编码语法空白与行尾标识符与保留字Here DocumentBEGIN与END 语句注释运算符算数运算符比较运算符赋值运算符并行赋值位运算符范围运算符defined? 运算符点运算符 "." 和双冒号运算符 "::"运算符的优先级数据类型数值(Number)字符串(String…
最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看 看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样 主要是我们对字符串进行变量引用的时候要使用双引号 如下: 可支持全部的转义字符及用#{exp}将Ruby中的值插入字符串中 例: i = 5 str = “ abab#{i}cjd”  #->abab5cjd “#{‘ho‘ *3} happy new year”  #->ho ho ho happy new yea…
Ruby是一门动态的.强类型的.纯面向对象的编程语言.它和Python非常相似,但比Python面向对象更加彻底.使用更加灵活.语法更加复杂.也更为有趣. 抛开做事情到底应该有多少种方法这个问题,我相信不止我一个人是为了学习Rails才学习Ruby.每当我拿起Django.Flask或者Python的时候,就会听到有人在说Ruby on Rails. 于是我决定今天开始学习Rails.第一天先来简单学习一下Ruby. 数据类型 首先,因为Ruby的纯面向对象的特征,不存在Java中的"原始数据类…
实现过程: 1.使用git log 可以获取到所有git commit.对命令加入参数后,可以获取某段时间的log.和只输出log的某些字段.如: [root@localhost crowd-web-server]# git log --pretty=format:'%an | %cd | %s' --after='2017-03-5 14:42' 该命令为:只获取2017年3月5号以后的git log.并且只返回 提交人.提交时间.提交信息3个字段内容 2.过滤掉一些CI提交内容的log,输出…
引用链接:http://www.blogjava.net/nkjava/archive/2010/01/03/308088.html 1,切片:silce, [ ]-----------------[ ]是silce的别名,所以两者是完全相同的 操作1:判定字符串中是否含有字串/子模式 string[substring] string[/pattern/] string[/pattern/, position] #position之后的子串中是否含有/pattern/ 如果存在返回子串/子模式串…