新手问题 ruby 中这个符号什么作用 <<

zhang991228752 · 2012年12月17日 · 最后由 DrinE 回复于 2013年05月09日 · 7979 次阅读

谢谢 最好举个例子 小白问题不专业的

任何一本 ruby 的基础书上都有这个符号的解释

Array:

arr = []
arr << 2
arr << 3
arr << 4
p arr

Fixnum:

puts 4 << 2
puts 4 >> 2

你自己跑下结果吧。 另外,Ruby 是可以运算符重载的

irb(main):001:0> 1 << 2
=> 4

"hello" << "world"

我来补充:

$stdout << "hello world\n"

相当于 C++ 的

std::cout << "hello world\n";

Mac 系统的话 建议下一个 Dash 的 app 自学利器

应该不只这几个吧

here document

str = <<EOF
                   /'.    .'\
                   \( \__/ )/
             ___   / (.)(.) \   ___
        _.-"`_  `-.|  ____  |.-`  _`"-._
     .-'.-'//||`'-.\  V--V  /.-'`||\\'-.'-.
    `'-'-.// ||    / .___.  \    || \\.-'-'`
          `-.||_.._|        |_.._||.-'
                   \ ((  )) /
               jgs  '.    .'
                      `\/`
EOF

逆天啦,你们这些人。

只是一个普通的运算符。。。

个人感觉类似于 C 里的异位吧,4 二进制里是 100,puts 4 << 2 有移两位,10000,就是 16 了,同理,左两位就是 1 了。。但还有数组其他方面的操作 针对不同对象有不同的法则吧。。。个人愚见

需要 登录 后方可回复, 如果你还没有账号请 注册新账号