Hashのeachで引き出される値の順番は一定ではない(ぽい)
半角カナを全角カナに変換したくて以下のような書き方してたけど、どうやらよくないっぽい
@texts = [["1", "アイウエオ"], ["2", "カキクケコ"], ["3", "サシスセソ"], ["4", "タチツテト"]] i = 0 @result = Hash.new @texts.each do |hoge| @result[i] = NKF.nkf("-wW", hoge[1]) i = i + 1 end
以下の書き方にすると直った
@texts = [["1", "アイウエオ"], ["2", "カキクケコ"], ["3", "サシスセソ"], ["4", "タチツテト"]] @result = Hash.new @texts.each_with_index do |hoge, index| @result[index] = NKF.nkf("-wW", hoge[1]) end
これで大丈夫かなぁ
RubyOnRailsの基本(分からない人がメモってるだけです)
基本的に
プロジェクトありきで、コントローラークラスを作る、んでそのクラスの関数がアクションと呼ばれている
[プロジェクト]→[コントローラー]→[アクション]
でクライアントで確認する際は
http://localhost:3000/[コントローラー名]/[アクション名]
となる
Dispコントローラーを作成し、helloRailsアクションを作った場合、クライアントでの確認は
http://localhost:3000/disp/helloRails
となる
ちなみにコントローラー作成時は「ruby script/generate controller Disp」で行ったが閲覧時は「disp」と小文字でもOKらしい。大文字でも閲覧できる。どうやらrailsはクラス名は大文字スタートっぽい?
RubyOnRailsのviewファイルにてとか書いても駄目
以下のように書いて実行してみる、
<html> <head> <title></title> </head> <body> <% sum = 0 for count in 1..10 sum += count print sum # 表示されない %> <%=sum%><br> <% end %> <p>1から100までを合計した結果は<%=sum%>です</p> <p><%=test%></p> </body> </html>
がしかし、
print sum
この部分は出力されない&エラーにならない
なんか出来そうだけど出来なかったからメモ
railsだと変数に一旦いれて
<%=sum%>
このようにしないと出力されないらしい?
まあview部分でこんな計算するなよ!って事ですね了解b