2012年4月20日金曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 12章(新しいクラスのオブジェクト), 12.6(練習問題)、roman_to_integer 'mcmxcix'!を解いてみる。

その他参考書籍

roman_to_integer 'mcmxcix'!

コード(TextWrangler)

#!/usr/bin/env ruby 
#encoding: utf-8

def roman_to_integer roman
  num = 0
  r_n = {'i' => 1,
             'v' => 5,
             'x' => 10,
             'l' => 50,
             'c' => 100,
             'd' => 500,
             'm' => 1000}
  i = roman.length - 1
  pre = 0
  while i >= 0
    r = roman[i].chr.downcase
    i -= 1
    n = r_n[r]
    return '有効なローマ数字になってない' unless n
    if n < pre
      n *= -1
    else
      pre = n
    end
    num += n
  end
  num
end

def roman_numeral num
  result = 'M' * (num / 1000)
  h = (num % 1000) / 100
  ten = (num % 100) / 10
  one = num % 10
  if h == 9
    result += 'CM'
  elsif h == 4
    result += 'CD'
  else
    result += 'D' * (h / 5)
    result += 'C' * (h % 5)
  end
  if ten == 9
    result += 'XC'
  elsif ten == 4
    result += 'XL'
  else
    result += 'L' * (ten / 5)
    result += 'X' * (ten % 5)
  end
  if one == 9
    result += 'IX'
  elsif one == 4
    result += 'IV'
  else
    result += 'V' * (one / 5)
    result += 'I' * (one % 5)
  end
  result
end

(1..1000).each do |num|
  roman = roman_numeral num
  n = roman_to_integer roman
  puts "#{roman}: #{n} #{num==n}"
end

入出力結果(Terminal)

$ ./sample.rb
I: 1 true
II: 2 true
III: 3 true
IV: 4 true
V: 5 true
VI: 6 true
VII: 7 true
VIII: 8 true
IX: 9 true
X: 10 true
XI: 11 true
XII: 12 true
XIII: 13 true
XIV: 14 true
XV: 15 true
XVI: 16 true
XVII: 17 true
XVIII: 18 true
XIX: 19 true
XX: 20 true
XXI: 21 true
XXII: 22 true
XXIII: 23 true
XXIV: 24 true
XXV: 25 true
XXVI: 26 true
XXVII: 27 true
XXVIII: 28 true
XXIX: 29 true
XXX: 30 true
XXXI: 31 true
XXXII: 32 true
XXXIII: 33 true
XXXIV: 34 true
XXXV: 35 true
XXXVI: 36 true
XXXVII: 37 true
XXXVIII: 38 true
XXXIX: 39 true
XL: 40 true
XLI: 41 true
XLII: 42 true
XLIII: 43 true
XLIV: 44 true
XLV: 45 true
XLVI: 46 true
XLVII: 47 true
XLVIII: 48 true
XLIX: 49 true
L: 50 true
LI: 51 true
LII: 52 true
LIII: 53 true
LIV: 54 true
LV: 55 true
LVI: 56 true
LVII: 57 true
LVIII: 58 true
LIX: 59 true
LX: 60 true
LXI: 61 true
LXII: 62 true
LXIII: 63 true
LXIV: 64 true
LXV: 65 true
LXVI: 66 true
LXVII: 67 true
LXVIII: 68 true
LXIX: 69 true
LXX: 70 true
LXXI: 71 true
LXXII: 72 true
LXXIII: 73 true
LXXIV: 74 true
LXXV: 75 true
LXXVI: 76 true
LXXVII: 77 true
LXXVIII: 78 true
LXXIX: 79 true
LXXX: 80 true
LXXXI: 81 true
LXXXII: 82 true
LXXXIII: 83 true
LXXXIV: 84 true
LXXXV: 85 true
LXXXVI: 86 true
LXXXVII: 87 true
LXXXVIII: 88 true
LXXXIX: 89 true
XC: 90 true
XCI: 91 true
XCII: 92 true
XCIII: 93 true
XCIV: 94 true
XCV: 95 true
XCVI: 96 true
XCVII: 97 true
XCVIII: 98 true
XCIX: 99 true
C: 100 true
CI: 101 true
CII: 102 true
CIII: 103 true
CIV: 104 true
CV: 105 true
CVI: 106 true
CVII: 107 true
CVIII: 108 true
CIX: 109 true
CX: 110 true
CXI: 111 true
CXII: 112 true
CXIII: 113 true
CXIV: 114 true
CXV: 115 true
CXVI: 116 true
CXVII: 117 true
CXVIII: 118 true
CXIX: 119 true
CXX: 120 true
CXXI: 121 true
CXXII: 122 true
CXXIII: 123 true
CXXIV: 124 true
CXXV: 125 true
CXXVI: 126 true
CXXVII: 127 true
CXXVIII: 128 true
CXXIX: 129 true
CXXX: 130 true
CXXXI: 131 true
CXXXII: 132 true
CXXXIII: 133 true
CXXXIV: 134 true
CXXXV: 135 true
CXXXVI: 136 true
CXXXVII: 137 true
CXXXVIII: 138 true
CXXXIX: 139 true
CXL: 140 true
CXLI: 141 true
CXLII: 142 true
CXLIII: 143 true
CXLIV: 144 true
CXLV: 145 true
CXLVI: 146 true
CXLVII: 147 true
CXLVIII: 148 true
CXLIX: 149 true
CL: 150 true
CLI: 151 true
CLII: 152 true
CLIII: 153 true
CLIV: 154 true
CLV: 155 true
CLVI: 156 true
CLVII: 157 true
CLVIII: 158 true
CLIX: 159 true
CLX: 160 true
CLXI: 161 true
CLXII: 162 true
CLXIII: 163 true
CLXIV: 164 true
CLXV: 165 true
CLXVI: 166 true
CLXVII: 167 true
CLXVIII: 168 true
CLXIX: 169 true
CLXX: 170 true
CLXXI: 171 true
CLXXII: 172 true
CLXXIII: 173 true
CLXXIV: 174 true
CLXXV: 175 true
CLXXVI: 176 true
CLXXVII: 177 true
CLXXVIII: 178 true
CLXXIX: 179 true
CLXXX: 180 true
CLXXXI: 181 true
CLXXXII: 182 true
CLXXXIII: 183 true
CLXXXIV: 184 true
CLXXXV: 185 true
CLXXXVI: 186 true
CLXXXVII: 187 true
CLXXXVIII: 188 true
CLXXXIX: 189 true
CXC: 190 true
CXCI: 191 true
CXCII: 192 true
CXCIII: 193 true
CXCIV: 194 true
CXCV: 195 true
CXCVI: 196 true
CXCVII: 197 true
CXCVIII: 198 true
CXCIX: 199 true
CC: 200 true
CCI: 201 true
CCII: 202 true
CCIII: 203 true
CCIV: 204 true
CCV: 205 true
CCVI: 206 true
CCVII: 207 true
CCVIII: 208 true
CCIX: 209 true
CCX: 210 true
CCXI: 211 true
CCXII: 212 true
CCXIII: 213 true
CCXIV: 214 true
CCXV: 215 true
CCXVI: 216 true
CCXVII: 217 true
CCXVIII: 218 true
CCXIX: 219 true
CCXX: 220 true
CCXXI: 221 true
CCXXII: 222 true
CCXXIII: 223 true
CCXXIV: 224 true
CCXXV: 225 true
CCXXVI: 226 true
CCXXVII: 227 true
CCXXVIII: 228 true
CCXXIX: 229 true
CCXXX: 230 true
CCXXXI: 231 true
CCXXXII: 232 true
CCXXXIII: 233 true
CCXXXIV: 234 true
CCXXXV: 235 true
CCXXXVI: 236 true
CCXXXVII: 237 true
CCXXXVIII: 238 true
CCXXXIX: 239 true
CCXL: 240 true
CCXLI: 241 true
CCXLII: 242 true
CCXLIII: 243 true
CCXLIV: 244 true
CCXLV: 245 true
CCXLVI: 246 true
CCXLVII: 247 true
CCXLVIII: 248 true
CCXLIX: 249 true
CCL: 250 true
CCLI: 251 true
CCLII: 252 true
CCLIII: 253 true
CCLIV: 254 true
CCLV: 255 true
CCLVI: 256 true
CCLVII: 257 true
CCLVIII: 258 true
CCLIX: 259 true
CCLX: 260 true
CCLXI: 261 true
CCLXII: 262 true
CCLXIII: 263 true
CCLXIV: 264 true
CCLXV: 265 true
CCLXVI: 266 true
CCLXVII: 267 true
CCLXVIII: 268 true
CCLXIX: 269 true
CCLXX: 270 true
CCLXXI: 271 true
CCLXXII: 272 true
CCLXXIII: 273 true
CCLXXIV: 274 true
CCLXXV: 275 true
CCLXXVI: 276 true
CCLXXVII: 277 true
CCLXXVIII: 278 true
CCLXXIX: 279 true
CCLXXX: 280 true
CCLXXXI: 281 true
CCLXXXII: 282 true
CCLXXXIII: 283 true
CCLXXXIV: 284 true
CCLXXXV: 285 true
CCLXXXVI: 286 true
CCLXXXVII: 287 true
CCLXXXVIII: 288 true
CCLXXXIX: 289 true
CCXC: 290 true
CCXCI: 291 true
CCXCII: 292 true
CCXCIII: 293 true
CCXCIV: 294 true
CCXCV: 295 true
CCXCVI: 296 true
CCXCVII: 297 true
CCXCVIII: 298 true
CCXCIX: 299 true
CCC: 300 true
CCCI: 301 true
CCCII: 302 true
CCCIII: 303 true
CCCIV: 304 true
CCCV: 305 true
CCCVI: 306 true
CCCVII: 307 true
CCCVIII: 308 true
CCCIX: 309 true
CCCX: 310 true
CCCXI: 311 true
CCCXII: 312 true
CCCXIII: 313 true
CCCXIV: 314 true
CCCXV: 315 true
CCCXVI: 316 true
CCCXVII: 317 true
CCCXVIII: 318 true
CCCXIX: 319 true
CCCXX: 320 true
CCCXXI: 321 true
CCCXXII: 322 true
CCCXXIII: 323 true
CCCXXIV: 324 true
CCCXXV: 325 true
CCCXXVI: 326 true
CCCXXVII: 327 true
CCCXXVIII: 328 true
CCCXXIX: 329 true
CCCXXX: 330 true
CCCXXXI: 331 true
CCCXXXII: 332 true
CCCXXXIII: 333 true
CCCXXXIV: 334 true
CCCXXXV: 335 true
CCCXXXVI: 336 true
CCCXXXVII: 337 true
CCCXXXVIII: 338 true
CCCXXXIX: 339 true
CCCXL: 340 true
CCCXLI: 341 true
CCCXLII: 342 true
CCCXLIII: 343 true
CCCXLIV: 344 true
CCCXLV: 345 true
CCCXLVI: 346 true
CCCXLVII: 347 true
CCCXLVIII: 348 true
CCCXLIX: 349 true
CCCL: 350 true
CCCLI: 351 true
CCCLII: 352 true
CCCLIII: 353 true
CCCLIV: 354 true
CCCLV: 355 true
CCCLVI: 356 true
CCCLVII: 357 true
CCCLVIII: 358 true
CCCLIX: 359 true
CCCLX: 360 true
CCCLXI: 361 true
CCCLXII: 362 true
CCCLXIII: 363 true
CCCLXIV: 364 true
CCCLXV: 365 true
CCCLXVI: 366 true
CCCLXVII: 367 true
CCCLXVIII: 368 true
CCCLXIX: 369 true
CCCLXX: 370 true
CCCLXXI: 371 true
CCCLXXII: 372 true
CCCLXXIII: 373 true
CCCLXXIV: 374 true
CCCLXXV: 375 true
CCCLXXVI: 376 true
CCCLXXVII: 377 true
CCCLXXVIII: 378 true
CCCLXXIX: 379 true
CCCLXXX: 380 true
CCCLXXXI: 381 true
CCCLXXXII: 382 true
CCCLXXXIII: 383 true
CCCLXXXIV: 384 true
CCCLXXXV: 385 true
CCCLXXXVI: 386 true
CCCLXXXVII: 387 true
CCCLXXXVIII: 388 true
CCCLXXXIX: 389 true
CCCXC: 390 true
CCCXCI: 391 true
CCCXCII: 392 true
CCCXCIII: 393 true
CCCXCIV: 394 true
CCCXCV: 395 true
CCCXCVI: 396 true
CCCXCVII: 397 true
CCCXCVIII: 398 true
CCCXCIX: 399 true
CD: 400 true
CDI: 401 true
CDII: 402 true
CDIII: 403 true
CDIV: 404 true
CDV: 405 true
CDVI: 406 true
CDVII: 407 true
CDVIII: 408 true
CDIX: 409 true
CDX: 410 true
CDXI: 411 true
CDXII: 412 true
CDXIII: 413 true
CDXIV: 414 true
CDXV: 415 true
CDXVI: 416 true
CDXVII: 417 true
CDXVIII: 418 true
CDXIX: 419 true
CDXX: 420 true
CDXXI: 421 true
CDXXII: 422 true
CDXXIII: 423 true
CDXXIV: 424 true
CDXXV: 425 true
CDXXVI: 426 true
CDXXVII: 427 true
CDXXVIII: 428 true
CDXXIX: 429 true
CDXXX: 430 true
CDXXXI: 431 true
CDXXXII: 432 true
CDXXXIII: 433 true
CDXXXIV: 434 true
CDXXXV: 435 true
CDXXXVI: 436 true
CDXXXVII: 437 true
CDXXXVIII: 438 true
CDXXXIX: 439 true
CDXL: 440 true
CDXLI: 441 true
CDXLII: 442 true
CDXLIII: 443 true
CDXLIV: 444 true
CDXLV: 445 true
CDXLVI: 446 true
CDXLVII: 447 true
CDXLVIII: 448 true
CDXLIX: 449 true
CDL: 450 true
CDLI: 451 true
CDLII: 452 true
CDLIII: 453 true
CDLIV: 454 true
CDLV: 455 true
CDLVI: 456 true
CDLVII: 457 true
CDLVIII: 458 true
CDLIX: 459 true
CDLX: 460 true
CDLXI: 461 true
CDLXII: 462 true
CDLXIII: 463 true
CDLXIV: 464 true
CDLXV: 465 true
CDLXVI: 466 true
CDLXVII: 467 true
CDLXVIII: 468 true
CDLXIX: 469 true
CDLXX: 470 true
CDLXXI: 471 true
CDLXXII: 472 true
CDLXXIII: 473 true
CDLXXIV: 474 true
CDLXXV: 475 true
CDLXXVI: 476 true
CDLXXVII: 477 true
CDLXXVIII: 478 true
CDLXXIX: 479 true
CDLXXX: 480 true
CDLXXXI: 481 true
CDLXXXII: 482 true
CDLXXXIII: 483 true
CDLXXXIV: 484 true
CDLXXXV: 485 true
CDLXXXVI: 486 true
CDLXXXVII: 487 true
CDLXXXVIII: 488 true
CDLXXXIX: 489 true
CDXC: 490 true
CDXCI: 491 true
CDXCII: 492 true
CDXCIII: 493 true
CDXCIV: 494 true
CDXCV: 495 true
CDXCVI: 496 true
CDXCVII: 497 true
CDXCVIII: 498 true
CDXCIX: 499 true
D: 500 true
DI: 501 true
DII: 502 true
DIII: 503 true
DIV: 504 true
DV: 505 true
DVI: 506 true
DVII: 507 true
DVIII: 508 true
DIX: 509 true
DX: 510 true
DXI: 511 true
DXII: 512 true
DXIII: 513 true
DXIV: 514 true
DXV: 515 true
DXVI: 516 true
DXVII: 517 true
DXVIII: 518 true
DXIX: 519 true
DXX: 520 true
DXXI: 521 true
DXXII: 522 true
DXXIII: 523 true
DXXIV: 524 true
DXXV: 525 true
DXXVI: 526 true
DXXVII: 527 true
DXXVIII: 528 true
DXXIX: 529 true
DXXX: 530 true
DXXXI: 531 true
DXXXII: 532 true
DXXXIII: 533 true
DXXXIV: 534 true
DXXXV: 535 true
DXXXVI: 536 true
DXXXVII: 537 true
DXXXVIII: 538 true
DXXXIX: 539 true
DXL: 540 true
DXLI: 541 true
DXLII: 542 true
DXLIII: 543 true
DXLIV: 544 true
DXLV: 545 true
DXLVI: 546 true
DXLVII: 547 true
DXLVIII: 548 true
DXLIX: 549 true
DL: 550 true
DLI: 551 true
DLII: 552 true
DLIII: 553 true
DLIV: 554 true
DLV: 555 true
DLVI: 556 true
DLVII: 557 true
DLVIII: 558 true
DLIX: 559 true
DLX: 560 true
DLXI: 561 true
DLXII: 562 true
DLXIII: 563 true
DLXIV: 564 true
DLXV: 565 true
DLXVI: 566 true
DLXVII: 567 true
DLXVIII: 568 true
DLXIX: 569 true
DLXX: 570 true
DLXXI: 571 true
DLXXII: 572 true
DLXXIII: 573 true
DLXXIV: 574 true
DLXXV: 575 true
DLXXVI: 576 true
DLXXVII: 577 true
DLXXVIII: 578 true
DLXXIX: 579 true
DLXXX: 580 true
DLXXXI: 581 true
DLXXXII: 582 true
DLXXXIII: 583 true
DLXXXIV: 584 true
DLXXXV: 585 true
DLXXXVI: 586 true
DLXXXVII: 587 true
DLXXXVIII: 588 true
DLXXXIX: 589 true
DXC: 590 true
DXCI: 591 true
DXCII: 592 true
DXCIII: 593 true
DXCIV: 594 true
DXCV: 595 true
DXCVI: 596 true
DXCVII: 597 true
DXCVIII: 598 true
DXCIX: 599 true
DC: 600 true
DCI: 601 true
DCII: 602 true
DCIII: 603 true
DCIV: 604 true
DCV: 605 true
DCVI: 606 true
DCVII: 607 true
DCVIII: 608 true
DCIX: 609 true
DCX: 610 true
DCXI: 611 true
DCXII: 612 true
DCXIII: 613 true
DCXIV: 614 true
DCXV: 615 true
DCXVI: 616 true
DCXVII: 617 true
DCXVIII: 618 true
DCXIX: 619 true
DCXX: 620 true
DCXXI: 621 true
DCXXII: 622 true
DCXXIII: 623 true
DCXXIV: 624 true
DCXXV: 625 true
DCXXVI: 626 true
DCXXVII: 627 true
DCXXVIII: 628 true
DCXXIX: 629 true
DCXXX: 630 true
DCXXXI: 631 true
DCXXXII: 632 true
DCXXXIII: 633 true
DCXXXIV: 634 true
DCXXXV: 635 true
DCXXXVI: 636 true
DCXXXVII: 637 true
DCXXXVIII: 638 true
DCXXXIX: 639 true
DCXL: 640 true
DCXLI: 641 true
DCXLII: 642 true
DCXLIII: 643 true
DCXLIV: 644 true
DCXLV: 645 true
DCXLVI: 646 true
DCXLVII: 647 true
DCXLVIII: 648 true
DCXLIX: 649 true
DCL: 650 true
DCLI: 651 true
DCLII: 652 true
DCLIII: 653 true
DCLIV: 654 true
DCLV: 655 true
DCLVI: 656 true
DCLVII: 657 true
DCLVIII: 658 true
DCLIX: 659 true
DCLX: 660 true
DCLXI: 661 true
DCLXII: 662 true
DCLXIII: 663 true
DCLXIV: 664 true
DCLXV: 665 true
DCLXVI: 666 true
DCLXVII: 667 true
DCLXVIII: 668 true
DCLXIX: 669 true
DCLXX: 670 true
DCLXXI: 671 true
DCLXXII: 672 true
DCLXXIII: 673 true
DCLXXIV: 674 true
DCLXXV: 675 true
DCLXXVI: 676 true
DCLXXVII: 677 true
DCLXXVIII: 678 true
DCLXXIX: 679 true
DCLXXX: 680 true
DCLXXXI: 681 true
DCLXXXII: 682 true
DCLXXXIII: 683 true
DCLXXXIV: 684 true
DCLXXXV: 685 true
DCLXXXVI: 686 true
DCLXXXVII: 687 true
DCLXXXVIII: 688 true
DCLXXXIX: 689 true
DCXC: 690 true
DCXCI: 691 true
DCXCII: 692 true
DCXCIII: 693 true
DCXCIV: 694 true
DCXCV: 695 true
DCXCVI: 696 true
DCXCVII: 697 true
DCXCVIII: 698 true
DCXCIX: 699 true
DCC: 700 true
DCCI: 701 true
DCCII: 702 true
DCCIII: 703 true
DCCIV: 704 true
DCCV: 705 true
DCCVI: 706 true
DCCVII: 707 true
DCCVIII: 708 true
DCCIX: 709 true
DCCX: 710 true
DCCXI: 711 true
DCCXII: 712 true
DCCXIII: 713 true
DCCXIV: 714 true
DCCXV: 715 true
DCCXVI: 716 true
DCCXVII: 717 true
DCCXVIII: 718 true
DCCXIX: 719 true
DCCXX: 720 true
DCCXXI: 721 true
DCCXXII: 722 true
DCCXXIII: 723 true
DCCXXIV: 724 true
DCCXXV: 725 true
DCCXXVI: 726 true
DCCXXVII: 727 true
DCCXXVIII: 728 true
DCCXXIX: 729 true
DCCXXX: 730 true
DCCXXXI: 731 true
DCCXXXII: 732 true
DCCXXXIII: 733 true
DCCXXXIV: 734 true
DCCXXXV: 735 true
DCCXXXVI: 736 true
DCCXXXVII: 737 true
DCCXXXVIII: 738 true
DCCXXXIX: 739 true
DCCXL: 740 true
DCCXLI: 741 true
DCCXLII: 742 true
DCCXLIII: 743 true
DCCXLIV: 744 true
DCCXLV: 745 true
DCCXLVI: 746 true
DCCXLVII: 747 true
DCCXLVIII: 748 true
DCCXLIX: 749 true
DCCL: 750 true
DCCLI: 751 true
DCCLII: 752 true
DCCLIII: 753 true
DCCLIV: 754 true
DCCLV: 755 true
DCCLVI: 756 true
DCCLVII: 757 true
DCCLVIII: 758 true
DCCLIX: 759 true
DCCLX: 760 true
DCCLXI: 761 true
DCCLXII: 762 true
DCCLXIII: 763 true
DCCLXIV: 764 true
DCCLXV: 765 true
DCCLXVI: 766 true
DCCLXVII: 767 true
DCCLXVIII: 768 true
DCCLXIX: 769 true
DCCLXX: 770 true
DCCLXXI: 771 true
DCCLXXII: 772 true
DCCLXXIII: 773 true
DCCLXXIV: 774 true
DCCLXXV: 775 true
DCCLXXVI: 776 true
DCCLXXVII: 777 true
DCCLXXVIII: 778 true
DCCLXXIX: 779 true
DCCLXXX: 780 true
DCCLXXXI: 781 true
DCCLXXXII: 782 true
DCCLXXXIII: 783 true
DCCLXXXIV: 784 true
DCCLXXXV: 785 true
DCCLXXXVI: 786 true
DCCLXXXVII: 787 true
DCCLXXXVIII: 788 true
DCCLXXXIX: 789 true
DCCXC: 790 true
DCCXCI: 791 true
DCCXCII: 792 true
DCCXCIII: 793 true
DCCXCIV: 794 true
DCCXCV: 795 true
DCCXCVI: 796 true
DCCXCVII: 797 true
DCCXCVIII: 798 true
DCCXCIX: 799 true
DCCC: 800 true
DCCCI: 801 true
DCCCII: 802 true
DCCCIII: 803 true
DCCCIV: 804 true
DCCCV: 805 true
DCCCVI: 806 true
DCCCVII: 807 true
DCCCVIII: 808 true
DCCCIX: 809 true
DCCCX: 810 true
DCCCXI: 811 true
DCCCXII: 812 true
DCCCXIII: 813 true
DCCCXIV: 814 true
DCCCXV: 815 true
DCCCXVI: 816 true
DCCCXVII: 817 true
DCCCXVIII: 818 true
DCCCXIX: 819 true
DCCCXX: 820 true
DCCCXXI: 821 true
DCCCXXII: 822 true
DCCCXXIII: 823 true
DCCCXXIV: 824 true
DCCCXXV: 825 true
DCCCXXVI: 826 true
DCCCXXVII: 827 true
DCCCXXVIII: 828 true
DCCCXXIX: 829 true
DCCCXXX: 830 true
DCCCXXXI: 831 true
DCCCXXXII: 832 true
DCCCXXXIII: 833 true
DCCCXXXIV: 834 true
DCCCXXXV: 835 true
DCCCXXXVI: 836 true
DCCCXXXVII: 837 true
DCCCXXXVIII: 838 true
DCCCXXXIX: 839 true
DCCCXL: 840 true
DCCCXLI: 841 true
DCCCXLII: 842 true
DCCCXLIII: 843 true
DCCCXLIV: 844 true
DCCCXLV: 845 true
DCCCXLVI: 846 true
DCCCXLVII: 847 true
DCCCXLVIII: 848 true
DCCCXLIX: 849 true
DCCCL: 850 true
DCCCLI: 851 true
DCCCLII: 852 true
DCCCLIII: 853 true
DCCCLIV: 854 true
DCCCLV: 855 true
DCCCLVI: 856 true
DCCCLVII: 857 true
DCCCLVIII: 858 true
DCCCLIX: 859 true
DCCCLX: 860 true
DCCCLXI: 861 true
DCCCLXII: 862 true
DCCCLXIII: 863 true
DCCCLXIV: 864 true
DCCCLXV: 865 true
DCCCLXVI: 866 true
DCCCLXVII: 867 true
DCCCLXVIII: 868 true
DCCCLXIX: 869 true
DCCCLXX: 870 true
DCCCLXXI: 871 true
DCCCLXXII: 872 true
DCCCLXXIII: 873 true
DCCCLXXIV: 874 true
DCCCLXXV: 875 true
DCCCLXXVI: 876 true
DCCCLXXVII: 877 true
DCCCLXXVIII: 878 true
DCCCLXXIX: 879 true
DCCCLXXX: 880 true
DCCCLXXXI: 881 true
DCCCLXXXII: 882 true
DCCCLXXXIII: 883 true
DCCCLXXXIV: 884 true
DCCCLXXXV: 885 true
DCCCLXXXVI: 886 true
DCCCLXXXVII: 887 true
DCCCLXXXVIII: 888 true
DCCCLXXXIX: 889 true
DCCCXC: 890 true
DCCCXCI: 891 true
DCCCXCII: 892 true
DCCCXCIII: 893 true
DCCCXCIV: 894 true
DCCCXCV: 895 true
DCCCXCVI: 896 true
DCCCXCVII: 897 true
DCCCXCVIII: 898 true
DCCCXCIX: 899 true
CM: 900 true
CMI: 901 true
CMII: 902 true
CMIII: 903 true
CMIV: 904 true
CMV: 905 true
CMVI: 906 true
CMVII: 907 true
CMVIII: 908 true
CMIX: 909 true
CMX: 910 true
CMXI: 911 true
CMXII: 912 true
CMXIII: 913 true
CMXIV: 914 true
CMXV: 915 true
CMXVI: 916 true
CMXVII: 917 true
CMXVIII: 918 true
CMXIX: 919 true
CMXX: 920 true
CMXXI: 921 true
CMXXII: 922 true
CMXXIII: 923 true
CMXXIV: 924 true
CMXXV: 925 true
CMXXVI: 926 true
CMXXVII: 927 true
CMXXVIII: 928 true
CMXXIX: 929 true
CMXXX: 930 true
CMXXXI: 931 true
CMXXXII: 932 true
CMXXXIII: 933 true
CMXXXIV: 934 true
CMXXXV: 935 true
CMXXXVI: 936 true
CMXXXVII: 937 true
CMXXXVIII: 938 true
CMXXXIX: 939 true
CMXL: 940 true
CMXLI: 941 true
CMXLII: 942 true
CMXLIII: 943 true
CMXLIV: 944 true
CMXLV: 945 true
CMXLVI: 946 true
CMXLVII: 947 true
CMXLVIII: 948 true
CMXLIX: 949 true
CML: 950 true
CMLI: 951 true
CMLII: 952 true
CMLIII: 953 true
CMLIV: 954 true
CMLV: 955 true
CMLVI: 956 true
CMLVII: 957 true
CMLVIII: 958 true
CMLIX: 959 true
CMLX: 960 true
CMLXI: 961 true
CMLXII: 962 true
CMLXIII: 963 true
CMLXIV: 964 true
CMLXV: 965 true
CMLXVI: 966 true
CMLXVII: 967 true
CMLXVIII: 968 true
CMLXIX: 969 true
CMLXX: 970 true
CMLXXI: 971 true
CMLXXII: 972 true
CMLXXIII: 973 true
CMLXXIV: 974 true
CMLXXV: 975 true
CMLXXVI: 976 true
CMLXXVII: 977 true
CMLXXVIII: 978 true
CMLXXIX: 979 true
CMLXXX: 980 true
CMLXXXI: 981 true
CMLXXXII: 982 true
CMLXXXIII: 983 true
CMLXXXIV: 984 true
CMLXXXV: 985 true
CMLXXXVI: 986 true
CMLXXXVII: 987 true
CMLXXXVIII: 988 true
CMLXXXIX: 989 true
CMXC: 990 true
CMXCI: 991 true
CMXCII: 992 true
CMXCIII: 993 true
CMXCIV: 994 true
CMXCV: 995 true
CMXCVI: 996 true
CMXCVII: 997 true
CMXCVIII: 998 true
CMXCIX: 999 true
M: 1000 true
$

今回の周ではirb(インタラクティブRuby)も少しずつ活用してみることに。

まだ上記の本を入手してないのでまた最初から。

本書を続けつつ、上記の本を早く入手してそっちに切り替え。

0 コメント:

コメントを投稿