Ruby零星笔记】的更多相关文章

chomp:去掉字符串末尾的\n或\r chop:去掉字符串末尾的最后一个字符,不管是\n\r还是普通字符 to_s:转换成字符串 to_i:转换成数值 object.nil?:判断是否为空,空返回:true s1 = s.downcase    #"hello,world" s2 = s.upcase     #"HELLO,WORLD" "  hello  ".lstrip   #=> "hello  ""…
Ruby零碎笔记 飞机上阅读pdf的笔记,因为不联网,内容不多而且比较零散,以tips的形式记录 tips 查看当前作用域的变量 puts local_variables ruby中方法传递参数时,括号是可选的 脚本开始运行时,main对象会被自动创建,其他内容都包含在main内部.用self可以查看当前属于哪个对象的作用域 字符串中,单括号比多括号高效 多行语句用\作为分行符 在ruby中,除了false,nil是false,其他全都是true(0和''都是true) ruby执行shell命…
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, Home & Living, and Kids, so our users can browse through categories and find what they like. Each Category in our site will need to store information…
ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将先处理转义再输出p 基本与puts相同,但不会处理参数中的转义符号print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符 1 2 3 4 5 6 7 s = "aaaa\nbb\tbb"   p s p "****************" puts s…
Ruby入门笔记 一切皆为对象 “Hello”.length 方法 定义:def开头 end结尾 命名一般采用下划线分隔单词…
之前一直想要多看看RESTful Service相关的东西,找到一本相关的书,但是里面的代码都是用Ruby写的,虽然知道编程语言都是类似的,但是看到一些陌生的语法,还是有些摸不着头脑,所以最近终于下定决心把Ruby好好看看,积累一些新的知识.况且,现在Ruby的开源项目也是非常的多,说明Ruby现在还是很受欢迎的. 笔者对java比较熟悉一些,所以我的笔记会涉及一些Ruby和Java语法的不同,以此也可以温故而知新. Ruby: 是日本人创建的脚步语言,和java,C#等面向对象语言来说,Rub…
还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在http://www.w3cschool.cc/ruby/ruby-string.html中得到的关于Ruby字符串chop和chomp的用法介绍如下:       单从这几句话,还是有些不明白(貌似借鉴于perl语言中的chop和chomp函数的用法),然后百度了一下,我在http://blog.c…
#!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "World") @names = names end # 向每個人說 hi def say_hi if @names.nil? puts "..." elsif @names.respond_to?("each") # @names 是可以迭代的陣列容器 @nam…
写ruby blog  系统的记录下.也是对我学ruby的点滴记录. 先介绍下我的学习环境.系统:ubuntu12.04文档:techotopia ,ruby文档,the hard way learn ruby 以及其他文档记录:有道云笔记 关于ruby 学习ruby 通常会介绍下ruby的历史和发展,但是我觉得这些有的废话, 关于ruby,是一个日本人写出来的,是一门解释性语言 这就够了. 开始 在ubuntu上 ,先判断下是否installed ruby. 1 ruby -v 如果安装了会打…
变量 在ruby的世界里,变量有5种,全局变量 局部变量 实例变量 常量 类变量以及伪变量 常用的: 全局: 在全局使用,使用$开头,因为是全局的,所以在任何的代码例子中都可以改变其值,造成混乱,所以不建议使用. 局部: 在一定范围内有作用.如 i = 10 ,其中i 就是一个局部变量 常量: 例如圆周率Pi,但是Pi 我们可以赋予他其他值,是可以变化的. 常量的首个字母必须大写,当试图改变常量值时,解释器会给出警告“ex4.rb:19: warning: already initialized…
#!/usr/bin/ruby puts "Hello, Ruby, what is your name?" $name = STDIN.gets puts "Hi, I am "+$name def welcome(name,a = 9,b = 9,*c) puts "Hi #{name}" c.each{|x| print "#{x}"} # print "a = "+ $a a = 10; b = 1…
1.block 代码块 do...end 或 {} 构成一个代码块,就像常见的 .each后面跟的代码块. my_nums = [1,2,3] my_double_nums = my_nums.collect {|num| num*2} puts "#{my_double_nums}" #=> [2,4,6] collect能作用在Array的每个元素上,也支持collect! 操作,即改变数组本身.map! 和 collect! 作用相同 yield关键字 yield能够在方法…
循环结构在编程语言中是不可或缺的,所以Ruby中的循环也有其自定义的规则. 而我们关注循环结构,要知道两个因素:1) 循环的条件:2) 循环执行的内容 Ruby有一些方式来实现循环结构体: 1. times方法 在前面已经有提到过了,语法如下: 循环次数.times do 循环次数.times { 重复执行的动作 重复执行的动作 end } 也可以在times模块中加入变量 5.times { |i| print "This is the", i+1, " time. \n&…
条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回true和false,这和java中的语法是类似的 2) 一些其他的方法也可以用来作为判断条件,比如,empty?方法,为空则返回true,否则返回false 3) 有些方法虽然不会返回true或false,但是也能作为条件判断的条件,他们返回的对象,要么是false或nil,要么是意义的对象,则可根据如下表格…
今天学习的是数组和Hash,数组在很多编程语言中都能常常用到. 数组: 数组是存储数据的一种容器,在Ruby中,数组中存储的数据可以是任何类型的数据:这和JAVA不同,在JAVA中,数组是存储同一类型数据的结构. 1. 在Ruby中如何定义数组呢? 使用[ ]来框住元素,而元素之间则使用","间隔.如下, name = ["Windy", "Cindy", "Amee", "Tom"] name = []…
Ruby做为面向对象语言,肯定要对对象进行相关的操作,这时候就涉及到方法了. 调用方法 - 对象.方法名(实参1,实参2,...,实参n) 方法的分类: 1. 实例方法:顾名思义,就是由实例来调用的方法.例如,“10, 20, 30, 40”.split(",") 2. 类方法:就是由类来调用的方法.当创建一个实例时,则需要调用类方法. a = Array.new #创建一个新数组 File.rename(oldname, newname) #更改文件名 调用类方法时,可以使用&quo…
Ruby安装好之后,我们就可以来实践Ruby语言了. 以下是一些学习到的简单基础知识: 1. 如何执行Ruby文件? 我们编写的Ruby文件是以rb为后缀名的,例如:XXX.rb.当要执行ruby文件时,可以打开命令行窗口,进入到Ruby文件所在的目录下,通过命令ruby XXX.rb来执行,可以看如下示图: 2. print方法:用于打印字符串功能,print ("Hello", " Ruby !", "\n")   print "H…
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 0x00 主机环境如下 [root@test ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@test ~]# uname -r 2.6.32-573.el6.x86_64 0x01 使用yum安装ruby [root@web ~]# yum install rubygems ruby-dev…
我们已经完成了Category & Product页面内容的增删改查,再加入一个身份验证即可成为一个较完整的Rails App了.本文就来完成这个任务. We now need to give users the ability to sign up for the app so that they can do things like purchase products or leave reviews. To do this, we'll add a user authentication…
We first built a static site which displayed a static image using only a Controller and a View. This is our Etsy landing page page. Then we built the Categories page, with a Model (manages data), Controller (manages decisions) and View (manages displ…
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…
Ruby 有4种数据类型:String, Boolen, Array, Hashes Ruby 有3种操作方法:Method, attribute, ?? Ruby 有xxx: Classes, Object.... ====先来看数据类型==== 1. String and Declaring the variables: name = "Wonder Woman" #declare a var and store a string puts name <span style=…
这里是一个Ruby开发的快速参考指南: Ruby是什么 ? Ruby是一种纯粹的面向对象编程语言.它由日本松本幸创建于1993年. Ruby是一种通用的解释编程语言如Perl和Python. IRb是什么 ? 交互式Ruby(IRB)为实验提供了一个shell.内置IRB shell,你可以立即一行行查看表达式的结果. 该工具自带Ruby安装,所以你必须做一些额外的IRB工作无关.只需键入在命令提示符IRB和交互式Ruby会话将启动. Ruby语法: Ruby代码一般忽略空白字符,如空格和制表符…
环境搭建 本文基于Mac OS,windowns坑较多,建议使用Mac. xcode-select -p 检查是否安装xcode-select, 如果没有,通过xcode-select --install命令进行安装,ruby安装时需要这个library. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)",安装Homebrew包管理工具,类…
在Ruby中,通过调用构造函数(constructor)来创建对象 song1=Song.new("Ruby") Ruby对单引号串处理的很少,除了极少的一些例外,键入到字符串字面量的内容就构成了这个字符串的值. Ruby对双引号字符串游更多地处理.首先,它寻找以反斜线开始的序列,并用二进制值替换它们.其次是字符串内的表达式内插,#{表达式}序列会被“表达式”的值替换. $greeting="Hello" # $greeting是全局变量 @name="P…
在对文件名修改后,今天又给自己出了新的难题,想从实验结果中提取数据,并将其作为文件夹的名称.其中,比赛的主办方提供的评估算法是用perl写的,因此读取实验结果最为简单的想法自然是使用管道命令,即 ./eval-entity.pl ent-ref10.qrels 2000_test.txt | ruby ./myscript.rb 可是如何读取管道传输过来的命令呢? “妾身做不到啊!” 好吧,估计这东西应该是输入输出流.可是搜索了半天的“Ruby 读取管道”也没有找到相关的内容,于是只能慢慢尝试了…
在做实验的时候,由于每次都要手工修改文件夹的名字,实在是给自己添了太多的麻烦,为了摆脱手工修改的困恼,于是产生了一个使用程序批量修改文件夹名字的好主意.为了最终实现这个目标,自然需要选择一种合适的脚本语言,恰好目前对Ruby十分感兴趣,于是“兴趣+需求”,诞生了一个不算过于丑陋的Ruby程序(自以为). (一)功能需求 首先来说一下我的需求:在程序运行的根目录(记为LDAModel)下有50个子文件夹(名字分别为21-70,为什么不是从1开始呢?),而每个子文件夹下又有若干个子文件夹,其名字分为…
1.变量带入操作符 在脚本中,使用变量前做检查是很重要的.通过代入操作符,可以实现这方面的功能.比如当变量未赋值时为变量赋默认值,以及更多内容: ${parameter:-默认为空}:当parameter变量未定义时显示-后面内容: ${parameter=value} :当parameter变量不存在时,为之赋值value,如果已经存在,不做任何事情: ${parameter:=value} :当变量不存在或者没有值的时候,赋值为value: ${parameter:?value}:如果par…
上一节里,我们搭建了一个数据库的结构,并用index验证了request-response cycle,如下图: 1. Add show method into Controller 这一节,我们要继续丰富我们的controller: While index gave all categories, show allows us to access one category. This this is helpful when we want to show just one Category…
1. Rendering Rendering 是特别要告诉Controller 中的methods,要哪个view file来显示给用户.We can show Views as we wish! Earlier each one of our Views rendered based on the method specified in the Controller. If we write the following method: def render_demo end Rails wil…