Ruby on Railsの勉強に突入しました。 RoRはMVCモデルが分かってても実際の書かれているコードがいまいちよくわかんない状態になりがちです。特にハッシュとシンボルは理解していないとRoRのコードの意味が理解できないじゃないでしょうか。 ということでRoRを勉強するにあたって事前に知っておいた方がよい知識をまとめておきます。 今回は「シンボルとハッシュ」についてです。 Ruby初心者の愛読書「たのしいRuby 第3版」p41についてシンボルの説明があります。 シンボル(Symbol)というのは、文字列に似たオブジェクトで、Rubyがメソッドなどの名前の識別に使うラベルをオブジェクトにしたものです。 シンボルと同様のことはたいてい文字列でもできます。ハッシュのキーのように単純に「同じかどうか」を比較するような場合は、文字列よりも効率がよいことが多いので、シンボルもよく使われます。
1. シンボルの役割 a. シンボルは一意 Ruby で、シンボルを使うと、名前に一意性を持たせることができる。 たのしいRuby (p125) によると、 シンボルとは、Ruby が内部でメソッド名などの識別に使っている数値で、任意の文字列に対して異なった値が割り当てられます。 Emacs Lisp では、タンスの引き出しに例えられている。 cf. Symbols as Chest - Programming in Emacs Lisp b. シンボルの書き方 シンボルにはリテラルがあり、接頭辞 `:’ を名前の前につける。 プログラミング言語Ruby — ありえるえりあ のシンボル(3) には、ハッシュのキーをシンボルで書くことが勧められている。 # こうするより ht1 = { "key1" => "val1", "key2" => "val2" } # こう書く ht1 = { :
Ruby言語について、当面第一部を理解するのに必要な知識だけ簡単に解説して おく。プログラミング上のテクニックであるとか注意すべきところなんてもの は全く指摘しないので、この章を読んだからと言ってRubyプログラムが書ける ようになるわけではない。既にRuby言語の経験がある読者はこの章は飛ばし て問題ないだろう。 また文法については第二部で嫌というほど話すから、この章ではできるだけ文 法の詳細には関らないようにする。ハッシュリテラルなどバリエーションがあ る表記は最も多用されるもののみ示す。省略可能なものは原則的に省略せずに 示す。そのほうが構文規則がシンプルになるからだ。いちいち「省略できる」 とも言わない。 オブジェクト 文字列 Rubyプログラムが操作できるものは全てオブジェクトである。Javaのintや longのような「基本型(primitive)」はない。例えば以下のように書
色々なところで見かけるコーディング規約を見て意識はしているのですが、 その時の気分で書き方を変えてしまうことが多々あったので、自戒を込めてコーディング規約をまとめてみました。 「なぜこの規約が存在するか」を明確にするために、できる限り理由も併記しています。 ただかなり主観的な部分があるので、あまり意味がないかもしれません…。 「この記事のこの規約は気に入らない。」と思うことがきっとあると思います。 その時はコメント欄などに理由も合わせて書いてくれると嬉しいです。 この記事ではRubyのコーディング規約をまとめています。 近いうちにRailsとCoffeeScriptのコーディング規約もまとめるつもりです。 Rubyのコーディング規約は以下のページを参考にまとめました。 https://github.com/styleguide/ruby https://github.com/bbatsov
$Id: codingstyle.rd,v 1.6 2003/06/18 23:03:32 aamine Exp $ 今日 (1999/02/01)、Linux 2.2.1 のソースをダウンロードしてきた ついでに始めてドキュメント群を読んでみたのだが、そこに CodingStyle なんて文書があった。Linux の作者の Linus 氏が Linux カーネルを 書く時のコーディングスタイルについて書いているのだが、これが なかなかおもしろい。さっそくまねをして、Ruby におけるコーディ ングスタイルについて書いてみようと思う。 とは言っても筆者はヒトのコーディングスタイルをどうこう言えるほど 偉くはないし、これを読む人に「ソースコードはこのように書け」と 言うつもりもない。この文書はあくまで「おれはこうじゃなきゃやだ!」 という自己主張である。 インデント インデントは基本的に 2
日本の食卓を支える料理レシピサービスをRubyで開発 クックパッド株式会社(以下クックパッド)の提供するレシピサイトCOOKPADは掲載レシピ数120万品以上、月間ユニークユーザー1,500万人以上、月間PV5億の超巨大サイトである。20~30代女性の1/2以上が利用していると言われ、まさに「日本の食卓を支えている」といっても過言ではない。「料理」というほとんどすべての人間が関わる領域に特化したサービスであり、現在利用していないが今後ユーザーになるであろう潜在的な顧客は多い。おもな収益源は広告販売と有料会員であるが、有料会員機能の一つが「人気順レシピ検索」であるなど、レシピサイトならではのユニークな点を売りにしている。2012年6月には有名シェフによるレシピ販売機能「レシピストア」をリリースし、その実験的なビジネスモデルが注目されている。 COOKPADはRuby on Railsで構築さ
2013年度プログラミングランキングがTIOBEから8月に発表されました。少し記事にするのが遅くなってしまいましたが、ちょっとランキングがどうなってるのか気になったので記事にしてみます。その他に人気のあるwebサービスがなんの言語で開発されているのかをちょびっとだけ集めてみましたので、今後勉強したい言語を選ぶ為の材料としていただけると嬉しいです。 2013年度プログラミングランキング表 2012年とそんなに変わりはないのですが、10位以内の言語を合計すると物凄いシェア率になっているんだなと改めて実感してしまいました。言語名をクリックすると10年間のシェア遷移のグラフが見る事が出来ます。 2013年 2012年 言語名 シェア率 1 2 Java 15.978% 2 1 C 15.974% 3 4 C++ 9.371% 4 3 Objective-C 8.082% 5 6 PHP 6.694
この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2018年5月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2018年5月) 独自研究が含まれているおそれがあります。(2018年5月) 出典検索?: "字下げスタイル" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 字下げスタイル(じさげスタイル)またはインデントスタイル(英: indent style)とは、プログラミングにおいてプログラムの構造を明らかにするために、コードのブロックの字下げをどうするかを決めたものである。本項ではC言語やそれに類似した言語を主に扱うが、他のプログラミング言語(特に括弧を使用して
Coding conventions are essential for maintaining code readability, consistency, and collaboration within a development team. Code that follows industry practices and established guidelines is easier to understand, maintain, and extend. Most projects enforce a consistent style through code conventions. The dotnet/docs and dotnet/samples projects are no exception. In this series of articles, you lea
はじめに 本文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。
要約 irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。 irb の使い方 Ruby さえ知っていれば irb を使うのは簡単です。 irb コマンドを実行すると、以下のようなプロンプトが表れます。 $ irb irb(main):001:0> あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。 irb(main):001:0> 1+2 3 irb(main):002:0> class Foo irb(main):003:1> def foo irb(main):004:2> print 1 irb(main):005:2> end irb(main):006:1> end nil irb(main):007:0> また irb コマンドは readline ライブラリにも
Ruby オフィシャルサイト http://www.ruby-lang.org/ja/ version 2.0 対応リファレンス 原著:まつもとゆきひろ 最新版URL: http://www.ruby-lang.org/ja/documentation/ 使用上の注意 Ruby 2.0 の組込みクラスのリファレンスはほぼ揃っています。 Ruby 2.0 の標準添付ライブラリのリファレンスは一部未完成です。 それ以外のドキュメントについては、まだまだ書き直しが必要です。 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト: オブジェクト クラス プロセスの実行: Ruby プログラムの実行 終了処理 スレッド セキュリティモデル Ruby の文法: 字句構造 プログラム・文・式 変数と定数 リテラル 演算子式 制御構造 メソッド呼び出し(sup
ここでは、マニュアルやチュートリアル、リファレンスといった、 Rubyでプログラミングする際に役立つドキュメントを紹介します。 マニュアル 各環境にRubyをインストールする方法は、 ダウンロード 及び インストールガイド で解説しています。 また、現在有志の手によりリファレンスマニュアルの整備が進行中です。 成果物を<URL:https://docs.ruby-lang.org/ja/>から閲覧できます。 Rubyリファレンスマニュアル Ruby 3.3版 Rubyリファレンスマニュアル Ruby 3.2版 Rubyリファレンスマニュアル Ruby 3.1版 Rubyリファレンスマニュアル Ruby 3.0版 Rubyリファレンスマニュアル Ruby 2.7.0版 るりまサーチ(全文検索) 入門 20分ではじめるRuby Rubyの基本をカバーしている便利なチュートリアルです。始めから終
Rubyのコーディングに向いているIDEは何があるのだろうか。 JavaならばEclipseがデファクトスタンダードになっているし、言語によってはVisualStudioが向いているものもある。 RubyだとNetBeansかAptanaを勧められることが多かったのだが、使ってみると私にはどうもしっくり来なかった。 最終的にvimが一番良いという結論になり、最近は専らvimで書いている。 コーディングをするにあたり、まずは「補完機能」があり「リファレンスにすぐ飛べる」のであれば最低限の機能は満たしていると考える。 今回は、vimでそれを実現するプラグイン、neocomplcacheとvim-refの導入方法を書いていく。 なお、プラグイン自体はRubyに特化したものではなく、他の言語でも使うことができる。 本エントリは下記2エントリの続きになるので「その3」にあたる。 そろそろしっかりvi
最近、vimの設定をやり直すスイッチが入って大分更新されたので改めて久々にvimrcを晒す。 ファイル自体はjoker1007/dotfilesにある。 もし参考にされる方が居たら、丸々コピーすると色々問題あるかもしれないんで、適当に一部を抜粋するのが良いと思います。 特にキーマッピングは慣れがあるので、自分で決めた方が良いです。 実際には必要無いけど、環境に依って使うかもしれない設定とか混じってます。 文字コード周りは正直微妙。もうちょっと良い設定があったら知りたい。 macvim-kaoriya向けのlibrubyのローディングはファイル名調整しないと駄目かも。 最近は自分でコンパイルオプション弄ってrbenvで入れたrubyとリンクさせてるので、自分自身は使っていない設定。 vimrcの下にsnippet定義も書いてあります。 set nocompatible " 文字コード, 改行
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く