ruby

[rails3, ruby]returnで複数の値を返り値として返したい時

ポイント

  • rubyはメソッドへ引数を渡す時、参照渡しではなく値渡しで値を渡す。
  • return は一つの値しか返せない。
よって、返り値を配列の形で渡せば、複数の値を返せる。
渡し方と受け取り方は以下のとおり。


メソッドを呼び出す側(返り値:受け取り方)

a, b, c = hoge(引数1, 引数2)

hogeメソッド(返り値:渡し方)

def hoge(引数1, 引数2 )
  
return [ a , b, c] 

end

ruby (1.9.3) 浮動小数点(float)を小数点第2桁までを表示する

  • 組込み関数sprintf を使うURL)
  • 小数点第2桁を表示するとき

    f = 12.345
    puts sprintf( "%.2f", f )
    

    実行例

    12.36 
  • round 関数を使う
  • 1.23.round    #=> 1
    1.234.round(2)  #=> 1.23
    1.2345.round(3) #=> 1.235
    

rails3 をwindows 環境にインストールする時の注意点

こちら自分用に rails3 を windows 環境にインストールする方法と注意点をまとめておく

今回のインストールする環境
(2011/2/14 現在)
Ruby 1.9.2
Rails 3.0.4
sqlite3

必要なもの
  • rubyinstaller (今回は1.9.2)
これがあればwindowsに簡単にrubyをインストールできる。
RubyDownlads から Ruby 1.9.2-p136 をダウンロードする
http://rubyinstaller.org/downloads/
 
  •  Development Kit 
注)これがないとインストールに失敗するライブラリがある。
 http://rubyinstaller.org/downloads/ から
DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe をダンロードする。 
インストール方法の詳細は下を参考にした
https://github.com/oneclick/rubyinstaller/wiki/development-kit
  • sqlite3
データベース。SQLite3:Download から sqlite-dll-win32-x86-3070500.zip (2/14現在)をダウンロード

インストール方法
  • rubyのインストール
ダウンロードしたRuby 1.9.2-p136 をダブルクリックで実行、表示メッセージに従っていればインストールできる。
  • Devlopment Kit のインストール
  1. 適当にフォルダを作成、今回は→ C\devkit
  2. プロンプトを起動
  3. 作成したフォルダに移動 cd C:\devkit
  4. 以下のコマンドで devkit をインストールする
  5. $ruby dk.rb init
  6. $ruby dk.rb install
こちらのサイトが参考になります。
http://d.hatena.ne.jp/comb_8107/20110629/1309361561 
  • Rails のインストール
下のコマンドを実行するだけ。
$gem install rails
  • Rails のライブラリのインストール
もしインストールできないライブラリがあったときは下のコマンドを試す。
$gem install [ライブラリ名] --platform=ruby
  • sqlite3のインストール
  1. sqlite-dll-win32-x86-3070500.zip を解凍
  2. sqlite3.dllとsqlite3.defをC:\Ruby\bin以下にコピー
  3. $gem install sqlite3-ruby

  • rake aborted! が出たら
  1. bundle install を試す
  2. rails と rake のバージョンを確認する(rake 0.9.0 はrakeコマンドでDBが作成できないらしい?)5月25日現在、rails3.0.1 rake0.8.7 ではrakeでDB作成ができた


rails:radioボタンを使用するときの注意点

フォームのradioボタンを使用するときname属性の指定を気をつけないと正しくチェックされない.

webページのソースコードには
・checked="checked"
・CHECKED
と書いてあってもチェックされていない時は、nema属性が他と被っていないか注意。

radio_bottun_tagの使い方:
<%= radio_bottun_tag(name,volue) %>チェック無
<%= radio_bottun_tag(name,volue,checked) %>チェック有

nameが統一されてる時の例:
<%= radio_bottun_tag("example1","サンプル1",checked)%>ボタン1
<%= radio_bottun_tag("example1","サンプル2")%>ボタン2
<%= radio_bottun_tag("example1","サンプル3")%>ボタン3

  • ボタン1
  • ボタン2
  • ボタン3

nameがばらばらの時の例:
<%= radio_bottun_tag("example2","サンプル1",checked)%>ボタン1
<%= radio_bottun_tag("example3","サンプル2",checked)%>ボタン2
<%= radio_bottun_tag("example4","サンプル3",checked)%>ボタン3

  • ボタン1
  • ボタン2
  • ボタン3

文字列:全角数字を半角数字に変換する

require 'jcode'
を使わないとうまく変換できない.


ソース
def check_integer(str)
    require 'jcode'
    #数字を全角から半角へ
    str = str.tr( '0-9','0-9' ).tr( '.','.' )
    return str
end
プロフィール

tyunbimu

タグクラウド
QRコード
QRコード
  • ライブドアブログ