「RubyのTIPS」の版間の差分
提供: Eospedia
(→system()を使用する) |
|||
(同じ利用者による、間の9版が非表示) | |||
行2: | 行2: | ||
<br> | <br> | ||
− | == | + | == コード例 == |
− | + | === 変数名の注意事項 === | |
+ | 変数名の先頭文字は小文字を使用します。大文字で使用した場合は定数として扱われ、再代入するときにワーニングが出力されます。(但し、値は変わる)<br> | ||
<br> | <br> | ||
− | == irb == | + | === 改行の文字列を取り扱うとき === |
+ | '''<<'(タグ名)' '''と'''(タグ名)'''で挟まれた文字列は改行も含めて使用することができます。ここで'''(タグ名)'''は文字列の開始と終了を判断する記号としてのみ機能しますので、中の文字列には出現しない名前にしましょう。<br> | ||
+ | 例えば下記の用途などで有効です。<br> | ||
+ | |||
+ | ==== HTMLの一部を使いたいとき ==== | ||
+ | 例えば、[[cgi]]をrubyで作成するときにある[[HTML]]ファイルの一部をコピーして使いたいときには下記のように記述します。<br> | ||
+ | <pre> | ||
+ | strHTML += <<'Block-HTML' | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <head> | ||
+ | <title>Title</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | ABC<br> | ||
+ | 123<br> | ||
+ | </body> | ||
+ | </html> | ||
+ | Block-HTML | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | ==== 改行込みの文字列をprintしたいとき ==== | ||
+ | printなどの文字列を関数の引数として'''()'''内に入れて使用するものは下記のように記述します。<br> | ||
+ | <pre> | ||
+ | print (<<"DDD") | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 | ||
+ | DDD | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | 実行結果<br> | ||
+ | <pre> | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | === コメントアウト === | ||
+ | ブロックコメントには=beginと=endで挟んで使用します。<br> | ||
+ | <pre> | ||
+ | =begin | ||
+ | require 'cgi' | ||
+ | =end | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | === ruby内でシェルスクリプトを起動したいとき === | ||
+ | 下記の方法でシェルスクリプトを実行することができます。<br> | ||
+ | <br> | ||
+ | |||
+ | ==== system()を使用する ==== | ||
+ | system()を使用する方法があります。<br> | ||
+ | 但し、lsなど標準出力のデータを得ることはできません。<br> | ||
+ | <br> | ||
+ | |||
+ | <pre> | ||
+ | system("mkdir dirname") | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | ==== open("| ")を使用する ==== | ||
+ | lsコマンドなどは下記のようにすると標準出力のデータを得ることができます。<br> | ||
+ | <pre> | ||
+ | result = open("| ls -lh") | ||
+ | while !result.eof | ||
+ | strHTML += result.gets | ||
+ | end | ||
+ | result.close | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | == Webページを作成する == | ||
+ | [[Sinatra]]を利用することでWebページを簡単に作成することができます。<br> | ||
+ | <br> | ||
+ | |||
+ | == デバッグで使用するコマンド == | ||
+ | === irb === | ||
irbコマンドを実行するとインタラクティブにrubyコマンドを実行することができ、簡単な動作テストなどができる。<br> | irbコマンドを実行するとインタラクティブにrubyコマンドを実行することができ、簡単な動作テストなどができる。<br> | ||
<pre> | <pre> | ||
行15: | 行98: | ||
</pre> | </pre> | ||
exitと入力すると終了する。<br> | exitと入力すると終了する。<br> | ||
+ | <br> | ||
+ | |||
+ | === インストールしたgemリスト === | ||
+ | gem listコマンドを実行すると、インストールしたgemのリストで表示します。<br> | ||
+ | <pre> | ||
+ | $ gem list | ||
+ | |||
+ | *** LOCAL GEMS *** | ||
+ | |||
+ | bundler (1.7.7) | ||
+ | pione (0.4.2) | ||
+ | </pre> | ||
<br> | <br> |
2015年1月6日 (火) 08:41時点における最新版
ここではRubyについてのTIPSを挙げていきます。
目次
コード例
変数名の注意事項
変数名の先頭文字は小文字を使用します。大文字で使用した場合は定数として扱われ、再代入するときにワーニングが出力されます。(但し、値は変わる)
改行の文字列を取り扱うとき
<<'(タグ名)' と(タグ名)で挟まれた文字列は改行も含めて使用することができます。ここで(タグ名)は文字列の開始と終了を判断する記号としてのみ機能しますので、中の文字列には出現しない名前にしましょう。
例えば下記の用途などで有効です。
HTMLの一部を使いたいとき
例えば、cgiをrubyで作成するときにあるHTMLファイルの一部をコピーして使いたいときには下記のように記述します。
strHTML += <<'Block-HTML' <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> ABC<br> 123<br> </body> </html> Block-HTML
改行込みの文字列をprintしたいとき
printなどの文字列を関数の引数として()内に入れて使用するものは下記のように記述します。
print (<<"DDD") 1 2 3 4 DDD
実行結果
1 2 3 4
コメントアウト
ブロックコメントには=beginと=endで挟んで使用します。
=begin require 'cgi' =end
ruby内でシェルスクリプトを起動したいとき
下記の方法でシェルスクリプトを実行することができます。
system()を使用する
system()を使用する方法があります。
但し、lsなど標準出力のデータを得ることはできません。
system("mkdir dirname")
open("| ")を使用する
lsコマンドなどは下記のようにすると標準出力のデータを得ることができます。
result = open("| ls -lh") while !result.eof strHTML += result.gets end result.close
Webページを作成する
Sinatraを利用することでWebページを簡単に作成することができます。
デバッグで使用するコマンド
irb
irbコマンドを実行するとインタラクティブにrubyコマンドを実行することができ、簡単な動作テストなどができる。
$ irb irb(main):001:0> print "hello world!" hello world!=> nil irb(main):002:0>
exitと入力すると終了する。
インストールしたgemリスト
gem listコマンドを実行すると、インストールしたgemのリストで表示します。
$ gem list *** LOCAL GEMS *** bundler (1.7.7) pione (0.4.2)