`
lidxgz
  • 浏览: 11566 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Programming Ruby 学习笔记(1)

    博客分类:
  • Ruby
阅读更多

2.2Ruby的一些基本知识

第一个程序:

ruby 代码
  1. C:\Documents and Settings\Administrator>ruby   
  2. def say_goodnight(name)      
  3. result="Good night, "+name      
  4. return result      
  5. end     
  6. # time for bed ...      
  7. puts say_goodnight("John-Boy")      
  8. puts say_goodnight("Mary-Ellen")   
  9. ^D  
执行结果:
  1. Good night, John-Boy   
  2. Good night, Marry-Ellen  

程序说明:

1.程序的开始和结束

Ruby可以以命令行的方式运行,在Windows命令行中,书写、执行Ruby程序,在命令行提示符下输入ruby就开始了一段ruby程序,通过文件结束符(Ctrl+D)结束程序并运行。程序的一条语句放在单独行上的时候不必在结尾处加上分号,若多条语句放在一行上,则要用分号分隔各条语句。

2.定义方法

方法由关键字def定义,后面跟着方法名及参数。由end结束方法定义

3.result变量

result变量不必提前声明,当赋值给它时,它便存在了。在程序中给它赋值一个组合的字符串。

4.字符串

字符串通常是一组单引号或双引号之间的字符序列。二者的区别:

   单引号字符串:ruby对单引号字符串作的处理很少,通常单引号中的字符直接构成字符串的值 

  双引号字符串:支持转义字符

例如对\n的处理
  1. C:\Documents and Settings\Administrator>ruby   
  2. puts 'hello,\nword'   
  3. ^D   
  4. hello,\nword   
  5.   
  6. C:\Documents and Settings\Administrator>ruby   
  7. puts "hello,\nword"  
  8. ^D   
  9. hello,   
  10. word   
                     字符串内的表达式内插,字符串中如果有"#{表达式}"会被表达式的值替换
例如把上面代码中的result="Good night, "+name 改成如下形式:
  1. C:\Documents and Settings\Administrator>ruby   
  2. def say_goodnight(name)   
  3. result='Good night, #{name}'   
  4. return result   
  5. end  
  6. puts say_goodnight('Pa')   
  7. ^D   
  8. Good night, #{name}   
  9.   
  10. C:\Documents and Settings\Administrator>ruby   
  11. def say_goodnight(name)   
  12. result="Good night, #{name}"  
  13. return result   
  14. end  
  15. puts say_goodnight('Pa')   
  16. ^D   
  17. Good night, Pa  

 

5.puts

puts say_goodnight("John-Boy")这行代码包含两个方法调用,一个是say_goodnight,另一个是puts。

puts的功能是输出其参数,后面跟一个回车符。

命名惯例

名称的第一个字符显示这个名称如何被使用。局部变量、方法参数和方法名称都必须以小写字母或下划线开始。

全局变量:以$为前缀

实例变量:以@为前缀,包含多个单词的实例变量词与词之间用下划线连接

类变量:以@@为前缀,包含多个单词的类变量每个单词的首字母大写。

类变量、模块名称、常量都必须以一个大写字母开始。名称可以是字母、数字和下划线的组合(@后面不能直接跟数字)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics