汎用計算機を手に入れた
Rubyというプログラミング言語に手を出してしまったので早速だけど計算機として利用しようと思う。
その昔に手を出したNode.jsとPythonと同じ展開のことを今またやろうとしている気がする。
Rubyについてはこちらから詳細をみることができます。ダウンロードもできます。
オブジェクト指向スクリプト言語 Ruby
オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。 エレガントな文法を持ち、自然に読み書きができます。
文法がエレガントかどうかはちゃんと触ってないからよくわからないけど、僕みたいにプログラミング言語をちゃんぽんして勉強している人には取っ付き易い雰囲気がある気がするよ。
早速さわってみるよ
まずは端末を開いてインストールできたかどうかとバージョンの確認ruby -v
をするよ。
バージョンが確認できたらirb
コマンドを入力するよ。
さて、これでまたパソコンの中に電卓機能が搭載されてしまったと嘆いて今日の記事おしまいと行こうかと思いましたが、すでに公式で電卓ネタをやっているのでもうちょっとだけ続けていこうと思います。
20分ではじめるRuby
じゃあ、こちらのMegaGreeterプログラムを少し改変してRubyに触ってみましたとして記事を終えようと思います。
というわけで改変ソース
#!/usr/bin/env ruby class MegaGreeter attr_accessor :names # Create the object def initialize(names = "くそったれの世界") @names = names end # Say hi to everybody def say_hi if @names.nil? puts "こんにちは... 誰?" elsif @names.respond_to?("each") # @names is a list of some kind, iterate! @names.each do |name| puts "こんにちは #{name}!" end else puts "こんにちは #{@names}!" end end # Say bye to everybody def say_bye if @names.nil? puts "..." elsif @names.respond_to?("join") # Join the list elements with commas puts "ばいばい #{@names.join(", ")}. またきてね!" else if names == "くそったれの世界" puts "ばいばい #{@names}. 二度とこないでね!" else puts "ばいばい #{@names}. またきてね!" end end end end if __FILE__ == $0 mg = MegaGreeter.new mg.say_hi mg.say_bye # Change name to be "秀吉" mg.names = "秀吉" mg.say_hi mg.say_bye # Change the name to an array of names mg.names = ["信長", "光秀", "家康"] mg.say_hi mg.say_bye # Change to nil mg.names = nil mg.say_hi mg.say_bye end
そして、実行結果。
出力結果を書き変えただけじゃないかと言われたらそうなんですけどね。……うん、ひどいね。
そういえばコピペは覚えないとよくいうけど、改変コピペってどうなんだろうね。やっぱり覚えられないのかな。