{ "metadata": { "language": "ruby", "name": "", "signature": "sha256:47cd0234c962d97a05ee29cb17ebea30796c16bb9ff9ee6afa7baf75bb5cb6bb" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 3-5-12 `::`\u3092\u4f7f\u3063\u305f\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Time.now" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "2015-03-25 19:35:25 +0900" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "Time::now" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "2015-03-25 19:35:30 +0900" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u3053\u306e\u8a18\u6cd5\u306frubocop\u306b\u6012\u3089\u308c\u308b" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3-5-13 \u30e1\u30bd\u30c3\u30c9\u5b9a\u7fa9\u306e\u53d6\u308a\u6d88\u3057" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def greet\n", " puts 'hola'\n", "end\n", "\n", "greet" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "hola\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "undef greet" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "greet" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "undefined local variable or method `greet' for main:Object", "output_type": "pyerr", "traceback": [ "\u001b[31mNameError\u001b[0m: undefined local variable or method `greet' for main:Object", "\u001b[37m(pry):9:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "undef\u306e\u4f7f\u3044\u9053\u306f\u66f4\u65b0\u7cfb\u3092\u9632\u3050\u3068\u304b\u306b\u4f7f\u3048\u308b\n", "ref: http://rochefort.hatenablog.com/entry/2013/05/21/214457" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3-5-14 \u30e1\u30bd\u30c3\u30c9\u306b\u5225\u540d\u3092\u3064\u3051\u308b" ] }, { "cell_type": "code", "collapsed": false, "input": [ "alias greet puts" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "greet 'hi'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "hi\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "greet 'No thank you'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "No thank you\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "undef puts" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "puts 'hoge'" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "NoMethodError", "evalue": "undefined method `puts' for main:Object", "output_type": "pyerr", "traceback": [ "\u001b[31mNoMethodError\u001b[0m: undefined method `puts' for main:Object", "\u001b[37m(pry):14:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "greet 'fuga'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fuga\n" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "alias puts greet" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "puts 'foo'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "foo\n" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "def foo\n", " raise\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ ":foo" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "foo" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[31mRuntimeError\u001b[0m: ", "\u001b[37m(pry):19:in `foo'\u001b[0m", "\u001b[37m(pry):21:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "alias bar foo" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "bar" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[31mRuntimeError\u001b[0m: ", "\u001b[37m(pry):19:in `foo'\u001b[0m", "\u001b[37m(pry):24:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "undef foo" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "bar" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[31mRuntimeError\u001b[0m: ", "\u001b[37m(pry):19:in `foo'\u001b[0m", "\u001b[37m(pry):26:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3-6-1 \u6587\u5b57\u5217\u306e\u5165\u51fa\u529b" ] }, { "cell_type": "code", "collapsed": false, "input": [ "puts 1\n", "puts \"hoge\\n\"\n", "puts \"Python\", \"Ruby\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "hoge\n", "\n" ] }, { "ename": "ArgumentError", "evalue": "wrong number of arguments (2 for 1)", "output_type": "pyerr", "traceback": [ "\u001b[31mArgumentError\u001b[0m: wrong number of arguments (2 for 1)", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/ostream.rb:36:in `puts'\u001b[0m", "\u001b[37m(pry):29:in `puts'\u001b[0m", "\u001b[37m(pry):29:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "IRuby\u306e\u30d0\u30b0\n", "\n", "\u672c\u6765\u306f\n", "\n", "```\n", "puts \"A\", \"B\"\n", "A\n", "B\n", "=> nil\n", "```" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print \"Hi\"\n", "print 1, 2, 'hoge'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hi" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "1" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "2" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "hoge" ] } ], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "sprintf '%04d', 1" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "\"0001\"" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "format '%04d', 1" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 24, "text": [ "\"0001\"" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "'%04d !!!!! %s' % [1, 'yeyyey']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 25, "text": [ "\"0001 !!!!! yeyyey\"" ] } ], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "'\u3042\u306a\u305f\u306f%04d\u4eba\u76ee\u306e\u6765\u8a2a\u8005\u3067\u3059' % [10]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ "\"\u3042\u306a\u305f\u306f0010\u4eba\u76ee\u306e\u6765\u8a2a\u8005\u3067\u3059\"" ] } ], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "num = 10\n", "\"\u307b\u3052#{num}\u4eba\u76ee\"" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "\"\u307b\u305210\u4eba\u76ee\"" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "'\u3042\u306a\u305f\u306f%04d\u4eba\u76ee\u306e\u6765\u8a2a\u8005\u3067\u3059' % {num: 10}" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 28, "text": [ "\"\u3042\u306a\u305f\u306f0010\u4eba\u76ee\u306e\u6765\u8a2a\u8005\u3067\u3059\"" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "/(?\\d+)\u4eba\u76ee/ =~ '10\u4eba\u76ee'" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ "0" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "p num" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\"10\"" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 35, "text": [ "\"10\"" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "/(?\\d+)\u4eba\u76ee/.match '10\u4eba\u76ee'" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 41, "text": [ "#" ] } ], "prompt_number": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "num2" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "undefined local variable or method `num2' for main:Object", "output_type": "pyerr", "traceback": [ "\u001b[31mNameError\u001b[0m: undefined local variable or method `num2' for main:Object", "\u001b[37m(pry):59:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "'10\u4eba\u76ee' =~ /(?\\d+)\u4eba\u76ee/" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 43, "text": [ "0" ] } ], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": [ "num3" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "undefined local variable or method `num3' for main:Object", "output_type": "pyerr", "traceback": [ "\u001b[31mNameError\u001b[0m: undefined local variable or method `num3' for main:Object", "\u001b[37m(pry):61:in `
'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.10.1/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/backend.rb:28:in `eval'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:110:in `execute_request'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/kernel.rb:62:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:30:in `run_kernel'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/lib/iruby/command.rb:16:in `run'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/iruby-0.1.13/bin/iruby:6:in `'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `load'\u001b[0m", "\u001b[37m/Users/mic/.rbenv/versions/2.1.0/bin/iruby:23:in `
'\u001b[0m" ] } ], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "m = /(?\\d+)\u4eba\u76ee/.match '10\u4eba\u76ee'\n", "m[:num2]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 45, "text": [ "\"10\"" ] } ], "prompt_number": 45 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u6b21\u56de\u306f P.109\u306e `Ruler` class\u3088\u308a" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }