《Rubu基础教程第五版》第一章笔记

由于工作需要,要使用Ruby,本人喜欢看书学习,笔记仅供自己学习参考。

1.1 使用irb进行ruby的命令行调试模式,与Python的Python命令一样

irb(main):001:0> puts "hellp"
hellp
=> nil

 =>表示返回值

ruby 像print都叫做方法,没有函数

方法的调用可以省略 ()

\为转义符号,''为非转义输出

irb(main):009:0> print('wo\nai')
wo\nai=> nil
irb(main):010:0> print("wo\nai")
wo
ai=> nil

 puts 会自动添加"\n"换行符

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的不同

扫描二维码关注公众号,回复: 11274815 查看本文章
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/[email protected]/bin in PATH, mode 040777
Hello,
	Ruby
"Hello,\n\tRuby"
shijianongdeMBP:chapter_1 shijianzhong$ cat put_and_p.rb 
puts "Hello,\n\tRuby"
p "Hello,\n\tRuby"
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, "\n"
puts "体积=#{volume}"
shijianongdeMBP:chapter_1 shijianzhong$ 

两个条件判断

if ~ then end

then 可以省略

还有就是 if else end 记住,这里与Python不用,这里的条件后面不用+冒号

抄写一个简单代码

/usr/local/opt/[email protected]/bin in PATH, mode 040777
greate
shijianongdeMBP:chapter_1 shijianzhong$ cat greater_smaller_else.rb 
a = 20
if a >= 10
  print "greate\n"
else
  print "smaller\n"
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 很重要

猜你喜欢

转载自www.cnblogs.com/sidianok/p/12968818.html