Ruby ã®ãã¢ããã¥ã¡ã³ãã®ãã¾ãè¦ãããªã使ãæ¹
æè¿ç¥ã£ã Ruby ã®ãã¢ããã¥ã¡ã³ãã®ãã¾ãè¦ãããªãï¼ï¼ï¼æ©è½ãããã¤ãåå¿é²ã¨ãã¦ã¾ã¨ãã¦ã¿ã¾ããã
ã¡ã½ããã®å¼æ°ã«æ¸¡ãã
以ä¸ã®ããã«ãã¦ãã¢ããã¥ã¡ã³ããã¡ã½ããã®å¼æ°ã«ãã®ã¾ã¾æ¸¡ãã¾ãã
def here_method(arg1, arg2, arg3) puts arg1 puts arg2 puts arg3 end here_method("hoge", <<EOS, "fuga") foo bar baz EOS # => hoge foo bar baz fuga
è¤æ°ã®ãã¢ããã¥ã¡ã³ããå¼æ°ã¨ãã¦æ¸¡ããã¨ãå¯è½ã ã£ãããã¾ãã
ãããªãã¨ããä½ããªãã ãã»ã»ã»ã
here_method("arg1", <<EOS1, <<EOS2) foo bar baz EOS1 HOGE FUGA EOS2 # => arg1 foo bar baz HOGE FUGA
ã¡ã½ããã®ã¬ã·ã¼ãã«ãªãã
ãã¢ããã¥ã¡ã³ããã¬ã·ã¼ãã«ãã¦ã¡ã½ãããå¼ã³åºãã¾ãã
puts <<LABEL.upcase The quick brown fox jumps over the lazy dog. LABEL # => THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.
ããã¯ã¹ã©ãã·ã¥ã§ã®ã³ãã³ãå®è¡
éå§ã©ãã«ãããã¯ã¹ã©ãã·ã¥ã§å²ãäºã§ãã¢ããã¥ã¡ã³ããã³ãã³ãã¨ãã¦å®è¡ã§ããããã¾ãã
1 è¡ã« 1 ã³ãã³ããã¤æ¸ãã¨è¤æ°ã³ãã³ããå®è¡ã§ãã¾ãã
print <<`EOC` date ls -la whoami pwd EOC
ç¹ã«ã¡ã½ããã®å¼æ°ã«æå®ããæ¸ãæ¹ã¯è¦æ
£ããªãäºããã£ã¦ãåãã¦è¦ãã¨ãã¯ã³ã£ãããã¾ããã
使ãæ
£ãã¦ããã¤ããã®è¨èªã§ã調ã¹ã¦ã¿ãã¨ç¥ããªãæ©è½ãã£ã±ãããã¾ããã
ã¾ã ã¾ã åå¼·ä¸è¶³ã§ããã
åè
ãã¢ããã¥ã¡ã³ã (è¡æåæååãªãã©ã«)
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fliteral.html#here