hrkt0115311の、迷えるプログラミング教室  RSSを登録する

プログラミングに興味はありますか? 素人が入門書片手にソースコード書いたりcgi作ったり、迷子になったりするメルマガです。広大なプログラミングの森で、一緒に迷子を楽しんでみませんか?

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2008/08/30

「hrkt0115311の、教えて習うRuby教室。」Vol.73 ~素数でアンモナイトの巻~

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

              〜 Ruby始めました 〜
                                             
                 「hrkt0115311の、教えて習うRuby教室。」Vol.73

━━━━━━━━━━━━━━━━━━━━素数でアンモナイトの巻

おはようございます。hrkt0115311です。毎回メルマガを読んでいただきありがとう
ございます! LDRでRSSを登録して下さっている方もありがとうございます。
バックナンバーをご覧下さっている方にも感謝します。励みになります!
http://reader.livedoor.com/about/http://archive.mag2.com/0000267290/rss10.xml
新たにご登録下さった方、はじめまして。どうぞよろしくお願いします。

HTMLに出力する以外に、何か描画する方法はないかなぁと探していたら
グラフを書くライブラリがありました。他の方が既にblogで解説して
下さっているので、そのエントリを参照しながら動かしてみました。
「スパイダー」という種類のグラフで、アンモナイト風のグラフを
作成しました。どうぞおつきあい下さい。

それでは本日のメルマガ始めます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○目次
・ 参照させていただいたサイトへのお礼
・ 解決できなかったエラー
・ 素数でアンモナイト(出力結果)
・ 素数でアンモナイト(解説)
・ 素数でアンモナイト(スクリプト)
・ 編集後記

━━━━━━━━━━━━━━━━━━━━━━━━━━━免責事項

 ソースコードは、発行者が実際に動かし、構文チェックなどもしていますが
 ご利用になられて万一損害が生じた場合、保証することができません。
 ご利用になられる際は、ご自身でご確認になられた上で、お試し下さい。

━━━━━━━━━━━━━━━━━━━━Rubyの導入方法について

 OSは何をお使いですか? LinuxでもMacOSでもWindowsでも、Rubyの
 公式ページでインストール方法が説明されています。

 ○Ruby Install Guide
 http://preview.tinyurl.com/4ghc3o

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○参照させていただいたサイトへのお礼

 -Kazuhiro’s Weblog: 「Gruff」 with Rubyでスタイリッシュなグラフを描こう
  http://kazuhiro.ty.land.to/blog/2007/01/gruff_with_ruby.html

 -pylori*style wiki - Gruffでグラフ
  http://tam.qmix.org/wiki/RubyGruff.html

上記サイトを拝見させていただいたおかげで、ライブラリを試すことが
できました。記事を公開して下さってありがとうございます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○解決できなかったエラー

・エラー内容

/usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:578:in `report_activate_error': Could not find RubyGem hoe (>= 1.7.0) (Gem::LoadError)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:134:in `activate'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:158:in `activate'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `each'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `activate'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from graph.rb:8

・環境
$ which ruby
/usr/local/bin/ruby
$ ruby -v
ruby 1.8.7 (2008-07-10 revision 0) [i686-linux]
$ uname -a
Linux 2.6.18-6-686 #1 SMP Mon Aug 18 08:42:39 UTC 2008 i686 GNU/Linux

上記エラーが出てしまい、解決できなかったので、今回はWindows版の
Rubyで試しました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○素数でアンモナイト(出力結果)
 http://f.hatena.ne.jp/hrkt0115311/20080828014615
 下の部分の活字が切れてしまうのを、うまく調節できませんでした……。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○素数でアンモナイト(解説)

素数2〜101で、ぐるりと時計回りにグラフを書いてみました。なんとなく
アンモナイト風に見えるような見えないような。このライブラリは、他にも
様々なグラフを出力できるので、グラフ作成に重宝しそうです。

EX http://geoffreygrosenbach.com/projects/show/5

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○素数でアンモナイト(スクリプト)

=begin
1.Rubyでグラフ描画できるか試す
2.素数でアンモナイト風グラフ作成してみた。
=end

require 'rubygems'
require 'gruff'

g = Gruff::Spider.new(105,600)
g.title = "Prime Number"
g.theme_37signals

g.data("2",[2,])
g.data("3",[3,])
g.data("5",[5,])
g.data("7",[7,])
g.data("11",[11,])
g.data("13",[13,])
g.data("17",[17,])
g.data("19",[19,])
g.data("23",[23,])
g.data("29",[29,])
g.data("31",[31,])
g.data("37",[37,])
g.data("41",[41,])
g.data("43",[43,])
g.data("47",[47,])
g.data("53",[53,])
g.data("59",[59,])
g.data("61",[61,])
g.data("67",[67,])
g.data("71",[71,])
g.data("73",[73,])
g.data("79",[79,])
g.data("83",[83,])
g.data("89",[89,])
g.data("97",[97,])
g.data("101",[101,])

g.write('PrimeNumberGraph.png')

■ 編集後記
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「hrkt0115311の、教えて習うRuby教室。」を最後までお読みいただき
ありがとうございます。いかがでしたか?

「一服」される時、皆様は何をたしなまれますか? たばこでしょうか。
珈琲、紅茶、緑茶、それともノンカフェイン飲料でしょうか。私は
麦茶感覚で煮出したルイボスを飲むことが多いです。冷やして飲むと
夏の友達です。温かくすると冬の友達です(笑) 年中こればっかなのです。

説明不足・分かりにくい点・私の理解の誤りなど、お気づきになられた点があれば、
お気軽にご意見・ご感想をお寄せ下さい。 enjoy.ruby@gmail.com にて、
メルマガ読者の皆さまからのフィードバックをお待ちしています。

それではまた、次号でお会いしましょう。

■ いただいた反響について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「こんな仕組み作れないかな」とか「説明不足で分からないよ」といった
ご指摘をお寄せいただけると嬉しいです。みなさまの声で、メルマガを
育てていただければ嬉しいです。また、メルマガで、頂戴したメールの
一部を紹介させていただく可能性があります。差し支えがある場合は
「発行者のhtkt0115311に読んで欲しいだけで、メルマガには掲載しないで」
とお書きいただければ幸いです。

■ 転送や再配布について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 blogなどでご紹介いただく際は、 http://www.mag2.com/m/0000267290.html
 などを並記していただき、私の書いた文章であることが分かる形に
 していただけると幸いです。またメルマガの転送については、転送者さんと
 転送したメルマガを受け取られた方が迷惑でない範囲であれば歓迎します。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 メールマガジン「hrkt0115311の、教えて習うRuby教室。」

 ○発行者     htkt0115311
 ○発行システム  『まぐまぐ!』 http://www.mag2.com/
 ○配信中止はこちら http://www.mag2.com/m/0000267290.html
 ○公式サイト    http://enjoy-programming.g.hatena.ne.jp/hrkt0115311/
 ○日記       http://d.hatena.ne.jp/hrkt0115311/
 ○Twitter     https://twitter.com/hrkt0115311
 ○お問い合わせ   enjoy.ruby@gmail.com

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る