Rubyの勉強を初めてから、ただいまパーフェクトRubyとプログラミング言語Rubyという書籍を並行して進めるカニバサミ勉強中。この2冊を同時に進めてみて気になったとこやらをあれこれツラツラと書いてみるパート2
・オブジェクトは”ポインタのようなもの”らしいけれど
オブジェクトについて理解できていない状態だと説明文のそのまんま、”ポインタのようなもの”としか解釈ができにゃい。
「オブジェクト参照」という単元の説明もあったけれど、この結果を見た方が分かりやすい気がすー。ただ、これを見ると”のようなもの”というか、”これはポインタだ”と思っちまいます。
ポインタのことをどれだけ理解しているのかは置いといてね。
irb(main):001:0> a = "Ruby" => "Ruby" irb(main):002:0> b = c = "Ruby" => "Ruby" irb(main):003:0> a.equal?(b) => false irb(main):004:0> b.equal?(c) => true irb(main):008:0> a == b => true
・0.0/0.0 は数字ではないけれど
数字とみなすと 0 だのな。
irb(main):003:0> num = 0.0/0.0 => NaN irb(main):004:0> num => NaN irb(main):006:0> a.to_i => 0 irb(main):010:0> a.to_f => 0.0
・例外処理が初見では分かりにくいぜ
そのまんま。
#!/home/takeken/.rbenv/shims/ruby begin file = File.open('hoge.txt') rescue puts 'Fileがみつかりませぬ' ensure file.close if file end
・例外オブジェクトあれこれ
お手軽だ。今のところ例外を活かしたものが書けていないので使わないとだ。
e.class [takeken@localhost]$ ./hoge.rb Error occurred (Errno::ENOENT) e.message [takeken@localhost]$ ./hoge.rb Error occurred (No such file or directory @ rb_sysopen - hoge.txt) e.backtrace [takeken@localhost]$ ./hoge.rb Error occurred (["./hoge.rb:4:in `initialize'", "./hoge.rb:4:in `open'", "./hoge.rb:4:in `<main>'"])
・レシーバ・引数なしでメソッドを呼び出すときはカッコを省略できない
そのままの意味です。
・UbuntuとOSXの違い
背景があってもフォントが見やすいのは流石で、設定しだいでは両者ともかなり近づくと思うけれど、やっぱり個性があるので違いを感じるなぁ。今はやっぱOSXがイイm9(^^)
Ubuntu
Mac OSX
・ブロックとして渡す
こういう書き方もできるみたいで、この辺はあんまり根詰めてやっちゃうとおいらの頭だとパニックしそうだから、だいたいで流しておこうと思う。
#!/home/takeken/.rbenv/shims/ruby people = %w(Alice Bob Charlie) block = Proc.new do |name| puts name end people.each &block [takeken@localhost]$ ./hoge.rb Alice Bob Charlie
・RequireしたファイルのパスはLOADED_FEATURESに追加される
調べてみた。なるほど。
irb(main):001:0> x = p $LOADED_FEATURES irb(main):002:0> p x.last(1) ["/home/takeken/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rubygems/dependency.rb"] => ["/home/takeken/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rubygems/dependency.rb"] irb(main):003:0> require 'json' => true irb(main):004:0> p x.last(1) ["/home/takeken/.rbenv/versions/2.1.5/lib/ruby/2.1.0/json.rb"] => ["/home/takeken/.rbenv/versions/2.1.5/lib/ruby/2.1.0/json.rb"]
とりあえずパート2はこんなくらいで終わっときます。
Macになったからという訳ではなく、wowowでたまたまスティーブ・ジョブズをやっていたので録っといたのですが、いろいろ詰め込みすぎていて話がよく分からないところが結構多かったなぁ…w 色々と圧倒されて終わった感じでした。
まだ読んでいないけれど、ウォルター・アイザックソンさんの原作の方がやっぱり面白いのだろうなと思うよ。
今のところ映画化、アニメ化された作品で小説よりも面白かった例がない ( ´Д`)σ)Д`)
それはそれで面白い!止まりで。
でもね、単に自分自身が映画やアニメよりも小説のほうが好きってことかもしれないんだな。
自分でも自分自身のことをそんなに知らなかったりするんだからね。