ラベル Ruby の投稿を表示しています。 すべての投稿を表示
ラベル Ruby の投稿を表示しています。 すべての投稿を表示

2012年11月9日金曜日

Vim (+Ruby)のコンパイル

vim でRubyの補完がしたくて、vim-rubyプラグインを導入したけど
vim --version した時に、+Rubyがないと意味がないみたいだ。
Ubuntu 12.04 のapt-get でインストールしたvim  は-Rubyなので、使えない。

動作環境: Ubuntu12.04

GoogleCode より、vimソースを取得して+Rubyでコンパイルする方法を記載する。
# mercurialというパッケージをダウンロード
$ sudo apt-get install mercurial

# hgコマンドが使えるようになったので、GoogleCodeからソースをクローン。
$ hg clone https://vim.googlecode.com/hg/ vim
$ cd vim

# 依存するパッケージをインストール
$ sudo apt-get install libncurses5-dev

# --enable-rubyinterpオプションを指定してconfigure
$ ./configure --with-features=huge --enable-multibyte --enable-rubyinterp

# makeしてインストール。 /usr/local/bin にインストールされる。
$ make
$ sudo make install

# /usr/binより前に /usr/local/bin が書かれていたら、
# vimコマンドで今回インストールしたvimが起動する。
$ echo $PATH
$ which vim

 - note 1 -

libncurses5-devをインストールしていないと、configureで下記のようなエラーがでる。
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.

 - note 2 -

vim --versionで+Ruryを確認すると、/usr/binにあるほうのvimバージョンが表示される…。
/usr/local/bin/vim --versionで確認すると、ちゃんと+Rubyが確認できた。vimコマンドたたくと、/usr/local/bin/vimが起動するにも関わらずなんでだろ汗。

2012年9月24日月曜日

if文の省略(Ruby)

Ruby
if文の省略

hoge = 100

if hoge == 100 then          # then はなくてもよい。
    puts "hoge は 100 です。"
end


# 一行で表現したい場合。
puts "hoge は 100 です。" if hoge == 100



ヒアドキュメント(Ruby)

Ruby
ヒアドキュメント

複数行の文字列を変数に代入する際は、ヒアドキュメントを使用すると便利。
str = <<-EOD
hogehoge....
.
.
.
...piyopiyo
EOD


<<に続く文字列(今回はEOD)に挟まれた文字列が代入される。
※hogehogeから、piyopiyoまでが代入される
<<- だと、最後のEODが、インデント可能になる。

こういう使い方もできる。
printf(<<-EOD, 1,2,3)
value1 = %d
value2 = %d
value3 = %d
EOD