理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

ひさしぶりに 1 時間勉強できる

  • 整数は任意倍長が自動的に実現される
    • 普通は Fixnum クラス,大きくなると勝手に Bignum クラスになる
  • 浮動小数点は Float クラスで実現
  • 文字列リテラルは,クオテーション以外だと %q (シングルクォートと同義), %Q (ダブルクォートと同義) で実現.このあたりは Perl とよく似ている.
  • 範囲型は Range クラスで実現される
(1..10).class # Range
  • ユーザ定義オブジェクトをベースとした範囲型も実現可能
    • 制約は,オブジェクトに succ メッセージを送ると次のオブジェクトを返すようにしてあることと,スペースシップ演算子で比較可能であること
  • ...演算子は正直 Perl に欲しい.Perl だとインデクスが欲しいときに
for my $i ( 0 .. @a - 1) {
  # hogehoge
}

みたいなことが時々あってちょっと気になってた.

  • Rubyイテレータはクール.
  • === 演算子は,ある値が範囲内にあるかを判定する(普通に Range#include? 使った方がよさそうな気が.慣れてないだけかな.)
  • 置換は String#{sub,gsub} あたり.