MeloGuo, ruby
Back

七周七语言 - Ruby

强类型 + 动态类型

动态类型是指一个变量不需要生命类型,并且可以被动态的改变。而强类型是指当出现类型不支持的操作时,不会进行类型转换。这么看 JavaScript 是弱类型 + 动态类型

常用约定和规则

实际上,attr 也可以定义设置方法,只需将 true 作为第二个参数传入即可,如 attr:childern true

元编程

MetaProgramming - 写能写程序的程序

习题

# 不用代码块读取文件
aFile = File.new('./fuckoff.txt', 'a+')
if aFile
content = aFile.sysread(20)
puts content
end
# 使用代码块读取文件
File.open('./fuckoff.txt', 'a+') { |f| puts f.sysread(20) }
// 使用 each
results = []
(1..16).each do |num|
results.push(num)
if results.count == 4
p results
results.clear
end
end
// 使用 each_slice
(1..16).each_slice(4) { |num| p num }

分析

优势

  1. 优秀的脚本语言。可出色的完成编写胶水代码、爬虫、自动化测试。
  2. web 开发。借助 Rails 成为 web 开发领域的宠儿。
  3. 市场投放时间。开发效率极高,适合创业公司快速迭代。例如 Twitter 就是 Rails 起家,量级上来后用 Scala 重写。

劣势

  1. 性能。Ruby 改善程序员的体验,而不是优化语言的性能。
  2. 并发和面向对象编程。
  3. 类型安全。好消息是 Ruby 3 要支持静态类型了。

GitHub · guoziliang199606@gmail.com · 微信
CC BY-NC 4.0 © Melo Guo.RSS