Ruby01: Beginner
中整個早上都忙著作業,看來是假期懶了一下現在現眼報吧哈哈。在上課之前發一下Ruby 的首章,算是倉促的開始吧。
puts
puts "Once upon a time...
there's a self learn programmer...." #okay
puts
"Once upon a time...
there's a self learn programmer...." # output: *blank*
所以Ruby 是case-sensitive 咯?但在網上卻是這樣說:“Whitespace characters such as spaces and tabs are generally ignored in Ruby code, except when they appear in strings. ”(Tutorial Point)。所以,我們推斷 Ruby command 是不可以被分開的。
puts vs print
puts "Hello World" #auto-append "\n" print "I am in " #not appending "\n" print "campus"
output:
Hello World
I am in campus
啊,要去上課了,待續...
https://www.tutorialspoint.com/ruby/ruby_comments.htm
BEGIN{} & END{} Priorities
puts "in the middle, even written in front?! " BEGIN{ puts "prog initialize" } END{ puts "just before prog termination" }
output:
prog initialize
in the middle, even written in front?!
just before prog termination
Block commenting
=begin
block comment
instead of using #
=end
Class in Ruby
#in Ruby, everything treated as object
#in Ruby, everything treated as object $ monthly_customers = 0; class Customer @@no_of_customers = 0; #class var: static DM: all obj share 1 copy #member function in ruby class def initialize(id, name, addr) #initialize: the reserved method for constructors #lowercase letters for method name @cust_id = id #instance var == DM @cust_name = name @cust_addr = addr end def modify_addr(addr2) ::Customer.instance_variable_get(:@cust_addr) = addr2 #modify instance var in same class end end cust1 = Customer.new(", "Amy", "CauswayBay, HK") cust2 = Customer.new; p cust2.instance_variable_get(:@cust_id) #nil: access uninitialized instance variable cust2.initialize(", "Timonthy", "Kwai Shing") p cust2.instance_variable_get(:@cust_id) # "02"
差不多要上課了,待續...
https://www.tutorialspoint.com/ruby/ruby_variables.htm
https://www.tutorialspoint.com/ruby/ruby_class_case_study.htm
Global variable in Ruby
$global_variable = "Hello kitty" #define a global var class Class1 def print puts "Global variable is: #$global_variable" #access global var end end #to finish class definition class1obj = Class1.new class1obj.print #no global fnc in ruby: fnc involved by obj only
Local variable, constant & execution order
$global_variable = "Hello kitty" #define a global var class Class1 @@object_Counter = 1 #no space btw '@@' and identifier name FIXED_VALUE = 100 #const var starts with capital, local var starts with lower case def print @local_var = "Hello global" puts "Global variable is: #$global_variable" #access global var puts "Instance varable ~ DM: #@local_var" #access instance var puts "Existing objects = #@@object_Counter" end puts "when local variable out of scope: #@local_var" # codes defined out of any class method executed first: ~ global MF puts "The constant in class : #{FIXED_VALUE}" #access constant end #to finish class definition class1obj = Class1.new class1obj.print #no global fnc in ruby: fnc involved by obj only
output:
when local variable out of scope: The constant in class : 100 Global variable is: Hello kitty Instance varable ~ DM: Hello global Existing objects = 1 => nil
to be continued...
Ruby01: Beginner的更多相关文章
- A Beginner's Guide to Paxos
Google Drive: A Beginner's Guide to Paxos The code ideas of Paxos protocol: 1) Optimistic concurrenc ...
- Beginner's Guide to Python-新手指导
Refer English Version: http://wiki.python.org/moin/BeginnersGuide New to programming? Python is free ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之纹理Textures
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之纹理Textures 本篇分享一下第6个已完工的视频,即<beginner Graphics ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之网格Meshes
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之网格Meshes 本篇分享一下第5个已完工的视频,即<beginner Graphics – ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials 既上一篇分享了中文字幕的灯光介绍Lights后,本篇分享一下第3个已完工 ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights 既上一篇分享了中文字幕的摄像机介绍Cameras后,本篇分享一下第2个已完工的 ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras 最近得到一些Unity官方视频教程,一看全是纯英文的讲解,没有任何字幕或者 ...
- 翻译:Lisp Style Tips for the Beginner - Heinrich Taube
原文:Lisp Style Tips for the Beginner 本篇文章是一篇非正式的摘要,旨在帮助新手写出高效.易读的Lisp代码. 1 赋值 1.1 避免使用eval.赋值是Lisp内 ...
- A Beginner's Guide To Understanding Convolutional Neural Networks(转)
A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural ...
随机推荐
- 国内APM企业的现状
19世纪美国西部掘金热大起,大家听闻有人挖到了金子一夜暴富,于是蜂拥而上,但是很多人失望而归,最后居然是卖铲子的人赚到了钱. APM在互联网+时代表示应用性能管理,就是掘金万亿互联网市场的“铲子”,主 ...
- 在CentOS7上使用systemctl配置tomcat
最近买了一台阿里云,现在阿里云CentOS都已经支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大区别就是service变成了现在的systemctl,简单的查了一下并 ...
- AngularJS数据双向绑定
<body ng-app> <div ng-controller="myCtrl"> <input ng-model="abc" ...
- 普通RAID磁盘数据格式规范
普通RAID磁盘数据格式规范 1.介绍 在当今的IT环境中,系统管理员希望改变他们正在使用的内部RAID方案,原因可能有以下几个:许多服务器都是附带RAID解决方案的,这些RAID解决方案是通过母板磁 ...
- Spring MVC 项目搭建 -1- 创建项目
Spring MVC 项目搭建 -1- 创建项目 1.创建 Dynamic Web project (SpringDemo),添加相关jar包 2.创建一个简单的controller类 package ...
- Excel多表合并的宏
Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long ...
- Java纸牌小demo以及日历小demo
//卡牌类 public class Card { //定义卡牌的点数 public static final String[] cardName = { "3", "4 ...
- js&jquery跨域详解jsonp,jquery并发大量请求丢失回调bug
URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http:/ ...
- 快手 Android 工程师面经
看着我把简历投完之后弹出的"完成"字样,我就十分的激动了,我是一名应届毕业生,老老实实的那种,学过的知识我都一步一个脚印的复习的完了,Lintcode上该刷的题,也妥妥的完成了,但 ...
- Out of mind - 魔术纸
魔术纸 显示屏与纸张的完美结合.类似电子墨水.柔性显示器.魔术纸柔软似真正的纸张.用魔术纸做成的电子书,控制器在书轴处. 每一页能显示不同的东西.一本书可以完全按页显示在电子书上.可以换一本书来显示. ...