Ruby语法

Python015

Ruby语法,第1张

Ruby 程序中,命令行使用 ARGV 这个 Ruby 预定义好的数组来获取从命令行传递过来的数据。

print_argv.rb

执行 print_argv.rb 文件

从参数里得到的数据都是字符串,因此如果希望进行运算时,需要对获得的数据进行类型转换。把字符串转换为整数,我们可以使用 to_i 方法。

区别是 MRuby 不支持超过 512 个局部变量.

CRuby 的字节码在内存使用上是比较奢侈的, 而 MRuby 为了削减内存使用, 字节码设计得和 Lua 的很相似, 而其压缩表示限制了局部变量的个数

Lua 的字节码编码方式 (32bit, A, B, C 一般为局部变量编号), 可以看到操作数最少都有 8 位, 可以表示高达 256 个局部变量!

@cache ||= {} 如果 @cache 已有资料, 那就不做动作

其相当於 @cache || @cache = {}

也就是

if ( @cache ) { }

else { @cache = {} }

而 @cache = {} 就是, 无论@cache 有无资料,

都将其清空, 回到初始化的状态