ruby初学者文档.docx
- 文档编号:9221954
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:15
- 大小:19.08KB
ruby初学者文档.docx
《ruby初学者文档.docx》由会员分享,可在线阅读,更多相关《ruby初学者文档.docx(15页珍藏版)》请在冰豆网上搜索。
ruby初学者文档
目录
Ruby基础语法2
打印语句2
显示中文2
注释3
控制语句3
if3
unless5
while5
case6
文件包含7
文件读取8
变量8
函数10
类12
类的三种定义方法12
类方法引用13
常数14
类变量14
字符串类15
‘’与””的区别15
rails15
Ruby基础语法
打印语句
print("hello,ruby")
print('hello,\nruby\n')
print('hello,\'ruby\'')
print('hello\\ruby')
puts("hello","ruby")
puts("hello\nruby")
puts("100")
puts(100)
p100
p"100"
p("hello\nruby")
字符串操作
字符串长度:
p“hello”.length
P‘hello’.size
字符串是否为空:
p“”.empty?
P‘oo’.empty?
字符串删除:
s.delete(str)
s.delete!
(str)
显示中文
ruby-Kshello.txt
print(1+2)
print(1/2)
print(1*2)
print(1-2)
includeMath
print(sin
(1))
注释
print("no")
#print("ok")
=begin
print("begin")
print("end")
=end
控制语句
判断
if
a=20
ifa>20then
print"bigger"
elsifa==20then
print"equal"
else
print"smaller"
end
a=20
ifa>20
p"bigger"
elseifa==20
p"equal"
else
p"smaller"
end
end
a=10
ifa>10
print"bigger"
elsifa==10
print"equal"
else
print"smaller"
end
unless
a=10
b=20
unlessa
print"a>=b"
else
print"a
end
case
tag=["a","b","c"]
tag.each{|item|
caseitem
when"a"
print"a"
when"b"
print"b"
else
print"c"
end
}
array=["aa",1,nil]
item=array[1]
caseitem
whenString
puts"string"
whenNumeric
puts"numeric"
else
puts"else"
end
循环
i=1
whilei<=10
printi,"\n"
i+=1;
end
10.times{
print"hello\n"
}
defhello
print"helloruby"
end
hello()
文件包含
require"hello"
hello()
传参数
print"第一个实参",ARGV[0]
num0=ARGV[0].to_i
num1=ARGV[1].to_i
print"num0-num1=",num0-num1
文件读取
filename="C:
\\Users\\Administrator\\Desktop\\ruby\\one.txt"
file=open(filename)
text=file.read
printtext
file.close
filename=ARGV[0]
file=open(filename)
whiletext=file.gets
printtext
end
file.close
变量
局部变量:
以小写字母或“_”开头的变量
全局变量:
以$开始的变量
实例变量:
以@开始的变量
类变量:
以@@开始的变量
虚拟变量:
”true”“false”“self”等特定名称的变量
$x=0
x=0
require"one"
p$x
px
str1="foo"
str2="f"+"o"+"o"
p"str1.equal?
(str2)",str1.equal?
(str2)
pstr1.eql?
(str2)效果类似
p"str1==str2",str1==str2但是数值类比较重定义了该方法
p1.0==1
p1.0.eql?
1
str1="foo"
str2="f"+"o"+"o"
pstr1.object_id
pstr2.object_id
p"".empty?
p"a".empty?
()
p/ruby/=~"hello,ruby"
p/ruby/=~"hello"
函数
defhello(name="jia")
print"welcome:
"+name+"\n"
end
hello()
hello("one")
defvolume(x,y,z)
returnx*y*z
end
pvolume(1,2,3)
省略return返回最后一行
defarea(x,y,z)
xy=x*y
xz=x*z
yz=y*z
(xy+xz+yz)*2
end
parea(1,2,3)
defmax(a,b)
ifa>b
returna
else
returnb
end
end
pmax(3,1)
ary=Array.new
str="helloworld"
pary.class
pstr.class
ary=[]
str="helloworld"
pary.instance_of?
(Array)
pstr.instance_of?
(String)
str="helloworld"
pstr.is_a?
(String)
pstr.is_a?
(Object)
类
类的三种定义方法
(1)
classHelloWorld
defHelloWorld.hello(name)
printname,"saidhello"
end
end
HelloWorld.hello("ruby")
(2)
classHelloWorld
end
class< defhello(name) printname+": saidhello" end end HelloWorld.hello("ruby") (3) classHelloWorld defself.hello(name) printname+": saidhello" end end HelloWorld.hello("ruby") 类方法引用 类.方法 类: : 方法 常数 classHello Version="1.0" end pHello: : Version 类变量 classHello @@count=0 defHello.count @@count end definitialize(name="ruby") @name=name end defhello @@count+=1; print@name+": hello\n" end end tom=Hello.new("tom") jim=Hello.new("jim") ruby=Hello.new pHello.count tom.hello jim.hello ruby.hello pHello.count 字符串类 ‘’与””的区别 moji="字符串" str="这也是#{moji}" pstr str1='这也是#{moji}' pstr1 rails 设置字符编码 before_filter: set_charset defset_charset @headers["Content-Type"]="text/html;charset=utf-8" end 表单 或本地同目录下文件 脚手架 RailsprojectName–dmysql 邮件发送程序 require'rubygems' require'action_mailer' ActionMailer: : Base.delivery_method=: smtp ActionMailer: : Base.smtp_settings={ : address=>'', : port=>25, : domain=>'', : user_name=>'wo_dwl@', : password=>'459614088', : authentication=>: login} ActionMailer: : Base.default_charset='GBK' classSimpleMailer : Base defsimple_message() from'wo_dwl@' recipients'wo_dwl@' subject'ok' body'simple' end end SimpleMailer.deliver_simple_message() p'ok' 邮件激活注册案例 注册邮箱: zhixintaike@ 密码: zhixintaike123 (1)创建项目 Railsmail–dmysql (2)必要的时候使用sql语句创建数据库 (3)修改database.yml文件的用户名和密码 (4)生成注册页面 Rubyscript/generatescaffoldusername: stringpass: stringemail: stringactive_code: stringis_activated: boolean (5)删除目录db\migrate下相应迁移文件中没用的属性(如: t.timestamps) (6)迁移文件 Rakedb: migrate (7)创建注册控制器 Rubyscript/generatecontrollerregister myshop_2集成邮箱激活系统 邮箱配置: config\environment.rbmodel\active_mail.rb (1)增加字段 t.string: active_code t.boolean: is_activated sql语句: Altertableusersaddcolumnactive_codevarchar(30); Altertableusersaddcolumnis_activatedBoolean; (2)配置邮件环境变量\config\environment.rb下添加如下代码: require'rubygems' require'action_mailer' ActionMailer: : Base.delivery_method=: smtp ActionMailer: : Base.smtp_settings={ : address=>'', : port=>25, : domain=>'', : user_name=>'zhixintaike@', : password=>'zhixintaike123', : authentication=>: login} ActionMailer: : Base.default_charset='utf-8' 注: 配置完后需重启服务 (3)生成mail模型 Rubyscript/generatemailActivateMailsent (4)生成控制器register Rubyscript/generatecontrollerregister
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ruby 初学者 文档