Ruby
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[並列グループ各種情報]]
**インストール場所 [#h12ba348]
/work/paralang/opt/vine5.1/ruby-x.x.x
x-x-xはバージョン番号。/work/paralang/opt/tmp/下で
configure --prefix=/work/paralang/opt/vine5.1/ruby-x.x.x
としてからmake; make test; (suして)make installする。
複数バージョンを使い分けるため、バージョン番号をつけて個...
各自でPATHを設定する。ヘッダファイルやライブラリもprefix...
下のincludeやlibになるので、バージョン毎に別管理できる。
**追加パッケージ・ライブラリのインストール [#b487e8b6]
Rubyの追加パッケージは
gem install パッケージ名
で簡単に追加できるが、zlib, opensslライブラリがないとgem ...
先に以下のコマンドを実行し、パッケージを作業マシンにイン...
(古い資料だとopenssl-devなどとなっているが名前が変わって...
なお、ヘッダファイルなどを使うので開発パッケージが必要。
apt-get install zlib-devel
apt-get install openssl-devel
また、デフォルトのconfigureだと拡張ライブラリは自動で入ら...
インストール後に以下を実行して手動で入れる。
cd /work/paralang/opt/vine5.1/ruby-x.x.x
cd ext/openssl
ruby extconf.rb
make
su
make install
インストール先は、3行目で実行したRuby自身のライブラリディ...
ここまでにインストール先のrubyが実行されるようにパスを通...
フルパスでrubyを実行する。うっかりそのまま実行すると古いr...
opensslライブラリをインストールしてしまうので注意。
**Ruby 2.0.0 [#ndc896f4]
Ruby2.0からデフォルトの文字コードがUTF-8になった。
直接rubyを起動するなら-Kオプションで好きなコードを指定で...
racc, yardocなどコマンド化されたRubyプログラムも多く、
部分的に想定文字コードが異なると文字化けやエラーを起こし...
現状でyardocはターゲットのRubyスクリプトがUTF-8でないと扱...
全面的にRuby2.0に乗り換えられるなら、以下のようにしてUTF-...
- setenv RUBYOPT=-Kuを実行して、文字コードをUTF-8に強制す...
- 日本語を含むスクリプトはすべて、M-x set-buffer-file-cod...
setenvは.cshrcなどに書いておけば良い。一時的に解除が必要...
**YARD [#x40791ab]
Rubyスクリプトから自動的にクラス・メソッドなどのドキュメ...
RubyではRDocが標準だが、引数やTODOなどのタグが使えないの...
MESI-CUDAではJavaDocに近いYARDを採用している。
公式サイト(英語)
http://yardoc.org/
日本語の解説サイト
http://morizyun.github.io/blog/yard-rails-ruby-gem-docume...
http://d.hatena.ne.jp/kitamomonga/20110825/ruby_yardoc_tag
***インストール [#f7b43dbf]
Rubyパッケージには含まれないので、Rubyの新しいバージョン...
gemで追加インストールする。
gem install yard
として追加インストールする必要がある。
***使い方 [#ga783995]
Javadoc, RDocなどと同様、
yardoc -o 出力先 ドキュメント化するスクリプトの並び
とすると、出力先下に大量のHTMLファイルなどが生成される。
出力先直下にファイルをばらまくので、
うっかりソースと同じディレクトリとかを指定しないように注...
-oオプションを使わないときはカレントディレクトリ直下にdoc...
細かいオプションは、実行するディレクトリに.yardoptsという...
その中に書いておけば適用される。
MESI-CUDAでは、.yardoptsにオプションを書いているほか、
Makefileにyardocの実行を記述して
make doc
でdocument/yardoc下にドキュメントを生成するようにしている。
***ドキュメントの見方 [#g431944f]
出力先直下のindex.htmlをブラウザで開く。
** 小技・ハマリどころのメモ書き [#ufbfb585]
*** 同名のモジュール・クラスがあるときのモジュールメソッ...
たとえば
module Hoge
class Hoge
end
class Nyan
def bar
foo # ※1
end
end
def foo
end
module_function :foo
end
のようなコードで、モジュールメソッドfooを呼びたいとする。
Hogeモジュール外なら、Hoge::fooで良いが、
上記の※1のようにHogeモジュール内だとHogeクラスが直接見え...
Hoge::fooはHogeクラスのメソッドと解釈される。
このような場合は、::Hoge::fooのように名前空間のルートから...
Hogeはモジュール名と解釈されて正しく動く。
終了行:
[[並列グループ各種情報]]
**インストール場所 [#h12ba348]
/work/paralang/opt/vine5.1/ruby-x.x.x
x-x-xはバージョン番号。/work/paralang/opt/tmp/下で
configure --prefix=/work/paralang/opt/vine5.1/ruby-x.x.x
としてからmake; make test; (suして)make installする。
複数バージョンを使い分けるため、バージョン番号をつけて個...
各自でPATHを設定する。ヘッダファイルやライブラリもprefix...
下のincludeやlibになるので、バージョン毎に別管理できる。
**追加パッケージ・ライブラリのインストール [#b487e8b6]
Rubyの追加パッケージは
gem install パッケージ名
で簡単に追加できるが、zlib, opensslライブラリがないとgem ...
先に以下のコマンドを実行し、パッケージを作業マシンにイン...
(古い資料だとopenssl-devなどとなっているが名前が変わって...
なお、ヘッダファイルなどを使うので開発パッケージが必要。
apt-get install zlib-devel
apt-get install openssl-devel
また、デフォルトのconfigureだと拡張ライブラリは自動で入ら...
インストール後に以下を実行して手動で入れる。
cd /work/paralang/opt/vine5.1/ruby-x.x.x
cd ext/openssl
ruby extconf.rb
make
su
make install
インストール先は、3行目で実行したRuby自身のライブラリディ...
ここまでにインストール先のrubyが実行されるようにパスを通...
フルパスでrubyを実行する。うっかりそのまま実行すると古いr...
opensslライブラリをインストールしてしまうので注意。
**Ruby 2.0.0 [#ndc896f4]
Ruby2.0からデフォルトの文字コードがUTF-8になった。
直接rubyを起動するなら-Kオプションで好きなコードを指定で...
racc, yardocなどコマンド化されたRubyプログラムも多く、
部分的に想定文字コードが異なると文字化けやエラーを起こし...
現状でyardocはターゲットのRubyスクリプトがUTF-8でないと扱...
全面的にRuby2.0に乗り換えられるなら、以下のようにしてUTF-...
- setenv RUBYOPT=-Kuを実行して、文字コードをUTF-8に強制す...
- 日本語を含むスクリプトはすべて、M-x set-buffer-file-cod...
setenvは.cshrcなどに書いておけば良い。一時的に解除が必要...
**YARD [#x40791ab]
Rubyスクリプトから自動的にクラス・メソッドなどのドキュメ...
RubyではRDocが標準だが、引数やTODOなどのタグが使えないの...
MESI-CUDAではJavaDocに近いYARDを採用している。
公式サイト(英語)
http://yardoc.org/
日本語の解説サイト
http://morizyun.github.io/blog/yard-rails-ruby-gem-docume...
http://d.hatena.ne.jp/kitamomonga/20110825/ruby_yardoc_tag
***インストール [#f7b43dbf]
Rubyパッケージには含まれないので、Rubyの新しいバージョン...
gemで追加インストールする。
gem install yard
として追加インストールする必要がある。
***使い方 [#ga783995]
Javadoc, RDocなどと同様、
yardoc -o 出力先 ドキュメント化するスクリプトの並び
とすると、出力先下に大量のHTMLファイルなどが生成される。
出力先直下にファイルをばらまくので、
うっかりソースと同じディレクトリとかを指定しないように注...
-oオプションを使わないときはカレントディレクトリ直下にdoc...
細かいオプションは、実行するディレクトリに.yardoptsという...
その中に書いておけば適用される。
MESI-CUDAでは、.yardoptsにオプションを書いているほか、
Makefileにyardocの実行を記述して
make doc
でdocument/yardoc下にドキュメントを生成するようにしている。
***ドキュメントの見方 [#g431944f]
出力先直下のindex.htmlをブラウザで開く。
** 小技・ハマリどころのメモ書き [#ufbfb585]
*** 同名のモジュール・クラスがあるときのモジュールメソッ...
たとえば
module Hoge
class Hoge
end
class Nyan
def bar
foo # ※1
end
end
def foo
end
module_function :foo
end
のようなコードで、モジュールメソッドfooを呼びたいとする。
Hogeモジュール外なら、Hoge::fooで良いが、
上記の※1のようにHogeモジュール内だとHogeクラスが直接見え...
Hoge::fooはHogeクラスのメソッドと解釈される。
このような場合は、::Hoge::fooのように名前空間のルートから...
Hogeはモジュール名と解釈されて正しく動く。
ページ名: