新手问题 Gem 中的语法

tsaikoga · 2013年11月14日 · 最后由 tsaikoga 回复于 2013年11月15日 · 2439 次阅读

最近在看一个 gem 时,发现一些从来未见过的语法;列举如下两个,希望社区的高手帮忙解释。

  • 在 rb 文件方法中有<<RUBY ... RUBY,感觉好像注入 ruby 语法,但 API 好像没有找到,类似的还有:<<-FILE ... FILE, <<-MESSAGE... MESSAGE 等,在此请教。

  • 如何知道 generator 生成文件命令的参数所带来的变量,如:table_name, plural_name, class_name 等,如何查找。

碰巧前几天也看到这个

这两种都是 Here Document 的写法,符合 POSIX 标准的系统一般都支持 <<- 特殊的地方是,转换成字符串的时候会吃掉每行开头的 TAB

适合这样子的时候

if ...
    while ....
        somecommand <<-WORD
        this is
        an indented
        here document
        WORD
    done
fi

既能保持代码书写时候的美观,又能保证执行的时候没有前面的空格

参考 http://mywiki.wooledge.org/HereDocument

#1 楼 @nevill 谢谢,原来 RUBY 这个名字也是可随意取的

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