由于工作需要,要使用Ruby,本人喜欢看书学习,笔记仅供自己学习参考。
1.1 使用irb进行ruby的命令行调试模式,与Python的Python命令一样
irb(main):001:0> puts "hellp" hellp => nil
=>表示返回值
ruby 像print都叫做方法,没有函数
方法的调用可以省略 ()
为转义符号,''为非转义输出
irb(main):009:0> print('wo ai') wo ai=> nil irb(main):010:0> print("wo ai") wo ai=> nil
puts 会自动添加" "换行符
p是给什么,就输出什么,不会进行任何操作,并且由返回值
irb(main):013:0> p "123" "123" => "123" irb(main):014:0> a = p "123" "123" => "123" irb(main):015:0> a => "123" irb(main):016:0> puts "123" 123 => nil irb(main):017:0> puts 123 123 => nil irb(main):018:0> p 123 123 => 123 irb(main):019:0>
print与p的不同
shijianongdeMBP:chapter_1 shijianzhong$ ruby put_and_p.rb /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin19/rbconfig.rb:229: warning: Insecure world writable dir /usr/local/opt/mysql@5.7/bin in PATH, mode 040777 Hello, Ruby "Hello, Ruby" shijianongdeMBP:chapter_1 shijianzhong$ cat put_and_p.rb puts "Hello, Ruby" p "Hello, Ruby" shijianongdeMBP:chapter_1 shijianzhong$
中文字符编码问题
Ruby2.0之后默认是utf-8,如果在脚本里面想改变编码集 在第一行可以写# encoding: GBK
或者在脚本启动时这样执行
ruby -E UTF-8 脚本文字
irb -E UTF-8
数值运算
跟Python一样,提示以下格式化输出变量可以通过#{变量名}的方式输出,与Python中的f"{变量名}"差不多
注释
长注释用=begin到=end
短注释就是#
表面积=2200 体积=2000 shijianongdeMBP:chapter_1 shijianzhong$ cat comment_sample.rb =begin <我是一个抄写书籍> 的好孩子 看书学习让我快乐 学习让我满足 =end x = 10 # 长 y = 20 # 宽 z = 30 area = (x*y + y*z + z*x) * 2 volume = x * y * x print "表面积=", area, " " puts "体积=#{volume}" shijianongdeMBP:chapter_1 shijianzhong$
两个条件判断
if ~ then end
then 可以省略
还有就是 if else end 记住,这里与Python不用,这里的条件后面不用+冒号
抄写一个简单代码
/usr/local/opt/mysql@5.7/bin in PATH, mode 040777 greate shijianongdeMBP:chapter_1 shijianzhong$ cat greater_smaller_else.rb a = 20 if a >= 10 print "greate " else print "smaller " end shijianongdeMBP:chapter_1 shijianzhong$
if else 除了少了一个冒号,跟Python非常接近了
循环
while语句
while 条件 do
处理
end
times方法
循环次数.times do
执行
end
irb(main):001:0> 10.times do irb(main):002:1* p "2" irb(main):003:1> end "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" => 10 irb(main):004:0>
end 很重要