Ruby用法总结(EMC)

1、ruby中的整数、浮点数、字符串之间的相互转换

ruby的整数、浮点数、字符串的类均提供了to_i,to_f,to_s三个方法,分别用于转换成整数、转换成浮点数、转换成字符串。

2、数组的遍历

例1:a=[‘a‘,‘b‘,‘c‘]
a.each {|x| puts x}
例2:
ps=["EMSD","XIO","DPAD","ISD","DSSD","ASD","VCE","RSA","IIG","N/A"]
ps.each{|x| InnovationProduct.create(:bu=>x,:innovation_product_id=>0)}
例3:
products=InnovationProduct.get_products_by_bu(bu)
productsArray=Array.new
for j in products
  productsArray.push(j.product)
end

3、if判断语句

例1:

a=1
if a==1
    puts 1  #打印1
elsif a==2
    puts 2
else
    puts 3
end

例2:

  a=false
  if a
      puts 1
  elsif !a
      puts 2  #打印2
  else
      puts 3
  end

4、puts与print的区别:puts自动换行,print不自动换行。

5、ruby中从命令行获取输入的方式:gets,输入的变量被存入$_中

puts "please enter the temperature:"
gets     #输入“aaabbbccc”
puts $_  #输出“aaabbbccc”

6、符号Symbol (:)

在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号:

创建 Symbol 对象,例如:

:foo
:test

:”abc” #结果是 :”I am a boy”

字符串就是字符串,干吗还有字符串的名字?这是因为在 Ruby 中字符串也是一种对象,即 String 对象。无论其结构还是操作和 Symbol 对象都是不同的。

7、在 Ruby 中每一个对象都有唯一的对象标识符(Object Identifier),可以通过 object_id 方法来得到一个对象的标识符。

例如:puts :foo.object_id

时间: 2024-10-11 07:41:01

Ruby用法总结(EMC)的相关文章

Ruby中的chop和chomp用法辨析

      还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧.       Ruby字符串中存在chop和chomp的内置函数.我在http://www.w3cschool.cc/ruby/ruby-string.html中得到的关于Ruby字符串chop和chomp的用法介绍如下: str.chomp 从字符串末尾移除记录分隔符($/),通常是 \n.如果没有记录分隔符,则不进行任何操作. str.cho

[No000010] Ruby 中一些百分号(%)的用法小结

#Ruby 中一些百分号(%)的用法小结 #这篇文章主要介绍了Ruby 中一些百分号(%)的用法小结,需要的朋友可以参考下 what_frank_said = "Hello!"#%Q #用于替代双引号的字符串. 当你需要在字符串里放入很多引号时候, 可以直接用下面方法而不需要在引号前逐个添加反斜杠 (\") puts %Q(1.Joe said: "Frank said: "#{what_frank_said}"") #“#”不能省 =

Ruby字符串(1):String基本用法

String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建. a = "hello" b = String.new("world") Ruby中的字符串是可变对象. 字符串的连接 直接连接即可: >> "a""b" => "ab" >> "a" "b" =>

ruby yield 关键字用法实例

yield关键字我是这样理解,用它来占一个位置,先标记下这个地方将来要写代码的,等到调用的时候,再来编写具体的代码.有点像函数指针,或者C#里的委托,但其实并不太一样. 写测试接口的时候,每次的assert返回值不一样,但函数体大部分是相同的,只有参数不同.正好最近看到了yield,就熟悉一下用法,可以把assert这部分code写在yield 的位置. 例子主要就是test_nodes这个函数的定义 和 它的调用. Code: 1 def generate_nodes(n=3) 2 retur

ruby lambda 的简单用法

ruby的lambda跟 proc是差不太多,感觉就像一个"变量方法",或者有点像C/C++的宏,可以在ruby方法.或者类中定义一个简单通用的方法,随时可以调用 例如 back = -> {redirect_to new_project_path + "?domain=" + domain} 然后 back.call 我一般用来处理某个方法中被重复调用的方法,这样在任何地方只要调用back.call,而不用写很长一段意义不大的代码.. ruby还是很赞的..

gem(ruby) 常见用法

Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找.安装.升级和卸载软件包,非常的便捷. Ruby 1.9.2版本默认已安装Ruby Gem,如果你使用其它发行版本,请参考"如何安装Ruby Gem". Ruby gem包的安装方式: 所有的gem包,会被安装到 /[Ruby root]/lib/ruby/gems/[ver]/ 目录下,这其中包括了Cache.doc.gems.specificati

ruby 中%Q %q %W %w %x %r %s的用法

%Q 用于替代双引号的字符串. 当你需要在字符串里放入很多引号时候, 可以直接用下面方法而不需要在引号前逐个添加反斜杠 (\") >> %Q(Joe said: "Frank said: "#{what_frank_said}"") => "Joe said: "Frank said: "Hello!""" (...)也可用其他非数字字母的符号或成对的符号代替, 诸如[...],

ruby where用法

用法1 Subject.where("position=?","2").order("name") 用法2 与find方法不同的是,where方法返回的结果不是数组而是ActiveRelation,这意味着我们可以基于当前的查询结果继续设置条件进行查询. Subject.where(:position =>"2").class => ActiveRecord::Relation 用法3 通过to_sql方法我们能看

ruby self.included用法

===Module#included 当一个模块混入到类时,如果该模块的included方法已经定义,那么该方法被调用.该方法的唯一参数就是接受混含的类的名字. 1 module M 2 def self.included(c) 3 puts "I have justbeen mixed into #{c}." 4 end 5 end 6 7 8 class C 9 include M 10 end 也就是说当类c中执行include M时,调用self.included方法