Ruby on beginning(一)
2015-12-26 10:21
387 查看
Ruby 菜鸟教程
方法二:如果有ruby的解释器(如,test.rb),则只要执行‘ruby test.rb’即可。
Ruby 在行尾遇到运算符,比如 +、- 或反斜杠,它们表示一个语句的延续。
ex:
会打印出 ‘hello worldxufei’,如果没有 ‘+’,则只会打印出 ‘hello world’
"Here Document"
BEGIN, END, COMMENT
在程序运行之前/结束时调用,‘#’可以注释一行或者一行的一部分,=begin =end可以注释一个代码块。
此处要特别声明的是:BEGIN,END 要大写
字符串
“”和‘’的区别:“”的字符串中内容可被替换并可以使用所有反斜杠,‘’的字符串不可以被替换且只能用\\和\'两个反斜杠。
哈希
有人说,ruby的精华70%都在哈希,所以有多重要不用我多说了吧
范围构造
范围可使用 s..e 和 s...e 来构造,或者通过 Range.new 来构造。
Ruby中的变量
本人暂时还没有深入了解这些变量什么时候用
局部变量:局部变量是在方法中定义的变量。局部变量在方法外是不可用的。在后续的章节中,您将看到有关方法的更多细节。局部变量以小写字母或 _ 开始。
实例变量:实例变量可以跨任何特定的实例或对象中的方法使用。这意味着,实例变量可以从对象到对象的改变。实例变量在变量名之前放置符号(@)。
#实例变量如果没有初始化,则输出nil
类变量:类变量可以跨不同的对象使用。类变量属于类,且是类的一个属性。类变量在变量名之前放置符号(@@)。
#类变量必须初始化才可以在方法定义中使用
全局变量:类变量不能跨类使用。如果您想要有一个可以跨类使用的变量,您需要定义全局变量。全局变量总是以美元符号($)开始。
给全局变量赋值会改变全局状态,不建议使用。
Ruby用new方法创建对象(new属于类方法)
如果要创建带参数的对象,则在创建类的同时,创建initialize方法。
问题:
如何开始?
方法一:ruby安装好之后,命令行输入irb,一个交互式ruby session就开始了。方法二:如果有ruby的解释器(如,test.rb),则只要执行‘ruby test.rb’即可。
语法?
Ruby 把分号和换行符解释为语句的结尾。但是,如果Ruby 在行尾遇到运算符,比如 +、- 或反斜杠,它们表示一个语句的延续。
ex:
puts 'hello world' + 'xufei'
会打印出 ‘hello worldxufei’,如果没有 ‘+’,则只会打印出 ‘hello world’
"Here Document"
<span style="font-size:12px;">print <<xufei bababababbabba here document 。 fsdlkflsadfklsdkflaskdfl fsdlkflsadfklsdkfdsfasdfsaffasdfs xufei print <<"EOF"; # 与上面相同 这是第二种方式创建here document 。 多行字符串。 EOF print <<`EOC` # 执行命令 echo hi there echo hello there EOC print <<"foo", <<"bar" # 您可以把它们进行堆叠 I said foo. foo I said bar. bar</span>注:标示符的引号不同用的语法不同,第二种和第三种
BEGIN, END, COMMENT
在程序运行之前/结束时调用,‘#’可以注释一行或者一行的一部分,=begin =end可以注释一个代码块。
此处要特别声明的是:BEGIN,END 要大写
<span style="font-size:12px;">puts 'hello world' + 'xufei' #追加一行
#test BEGIN and END
END {
puts 'this is the end word.'
}
BEGIN {
puts 'today is 2015/12/26'
}
=begin
this 思
注释
一个代码块
=end</span>
字符串
“”和‘’的区别:“”的字符串中内容可被替换并可以使用所有反斜杠,‘’的字符串不可以被替换且只能用\\和\'两个反斜杠。
puts "Multiplication Value : #{24*60*60}";
哈希
有人说,ruby的精华70%都在哈希,所以有多重要不用我多说了吧
colors = {'name' => 'xufei', 'age' => 10, 'belong' => 'IT'} colors.each do |key, value| print key, ' is ' , value, "\n" #print和puts的区别:print不换行,puts遇分号或换行之后打出的内容换行,注意,此处连接字符串用的逗号 end
范围构造
范围可使用 s..e 和 s...e 来构造,或者通过 Range.new 来构造。
#范围(try (4...10)) (4..10).each do |n| print n, ' ' end color = Range.new(10,16) color.each do |n| print n, ' ' end
Ruby中的变量
本人暂时还没有深入了解这些变量什么时候用
局部变量:局部变量是在方法中定义的变量。局部变量在方法外是不可用的。在后续的章节中,您将看到有关方法的更多细节。局部变量以小写字母或 _ 开始。
实例变量:实例变量可以跨任何特定的实例或对象中的方法使用。这意味着,实例变量可以从对象到对象的改变。实例变量在变量名之前放置符号(@)。
#实例变量如果没有初始化,则输出nil
类变量:类变量可以跨不同的对象使用。类变量属于类,且是类的一个属性。类变量在变量名之前放置符号(@@)。
#类变量必须初始化才可以在方法定义中使用
全局变量:类变量不能跨类使用。如果您想要有一个可以跨类使用的变量,您需要定义全局变量。全局变量总是以美元符号($)开始。
给全局变量赋值会改变全局状态,不建议使用。
Ruby用new方法创建对象(new属于类方法)
如果要创建带参数的对象,则在创建类的同时,创建initialize方法。
class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end end
Ruby defined? 运算符
defined? variable # 如果 variable 已经初始化,则为 True
问题:
a + b 被解释为 a+b (这是一个局部变量) a +b 被解释为 a(+b) (这是一个方法调用)
Mac key shorts:https://support.google.com/chrome/answer/157179?hl=zh-Hans
相关文章推荐
- 红宝石(Ruby)史话
- Ruby简明教程之循环语句介绍
- ruby 一些简单的例子
- Ruby 之 class 中的 private、 protected、public
- Ruby中操作文件的方法介绍
- Ruby中的集合编写指南
- CentOS 6.3下编译安装Ruby 2.0笔记
- Ruby基本的环境变量设置以及常用解释器命令介绍
- Ruby编程中关于中断和返回的用法教程
- Ruby中的异常处理代码编写示例
- Ruby中的变量学习总结
- 几个加速Ruby on Rails的编程技巧
- Ruby配置rspec和RestClient来检测服务器
- 分析Cache 在 Ruby China 里面的应用情况
- Ruby中数组的一些相关使用方法
- 编写Ruby代码注释时需要注意的一些问题
- Ruby类继承、抽象类、类拓展混入、代理类实例
- Ruby简明教程之方法(Method)介绍
- 比较详细的ruby symbol 学习资料