{ "metadata": { "language": "ruby", "name": "", "signature": "sha256:dd6596d89db55f73da31c7a719d1076684a1d2ab0fe8fdc9b04b39c0ad01863d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 4\u7ae0 \u30af\u30e9\u30b9\u3068\u30e2\u30b8\u30e5\u30fc\u30eb\n", "## 4-2 \u30af\u30e9\u30b9" ] }, { "cell_type": "code", "collapsed": false, "input": [ "class MyClass\n", " OWN_VALUE = 1111\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "1111" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "MyClass::OWN_VALUE" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "1111" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "UnkownClass" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "uninitialized constant UnkownClass", "output_type": "pyerr", "traceback": [ "\u001b[31mNameError\u001b[0m: uninitialized constant UnkownClass", "\u001b[37m(pry):5: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": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "UnknownClass = Class.new" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "UnknownClass" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "UnknownClass" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "UnknownClass" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "unknown_instance = UnknownClass.new" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "#" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "UnknownClass.name" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "\"UnknownClass\"" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "p Class.new.name" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "nil" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "p NeverKnownClass = Class.new" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "NeverKnownClass" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "NeverKnownClass" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "p NeverKnownClass.name" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\"NeverKnownClass\"" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "\"NeverKnownClass\"" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "hoge = Class.new" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "#" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "p hoge.name" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "nil" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "KnownClass = hoge" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "KnownClass" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "hoge.name" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "\"KnownClass\"" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "p KnownClass.ancestors" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[KnownClass, Object, PP::ObjectMixin, Kernel, BasicObject]" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "[KnownClass, Object, PP::ObjectMixin, Kernel, BasicObject]" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4-1-1 \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u751f\u6210/\u521d\u671f\u5316" ] }, { "cell_type": "code", "collapsed": false, "input": [ "class MyClass\n", " def initialize\n", " puts 'fooooooo!!!'\n", " end\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ ":initialize" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "obj = MyClass.new" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fooooooo!!!\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "#" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "obj" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ "#" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4-1-2 \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30e1\u30bd\u30c3\u30c9" ] }, { "cell_type": "code", "collapsed": false, "input": [ "class MyClass\n", " def hoge\n", " puts 'hoge called'\n", " end\n", " \n", " def fuga\n", " hoge\n", " end\n", "end\n", "\n", "obj = MyClass.new\n", "obj.hoge" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "fooooooo!!!\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "hoge called\n" ] } ], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "obj.fuga" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "hoge called\n" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "class Brownie\n", " def initialize\n", " @baked = false\n", " end\n", " \n", " def bake!\n", " @baked = true\n", " end\n", " \n", " def baked?\n", " @baked\n", " end\n", "end\n", "\n", "b = Brownie.new" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ "#" ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "b.baked?" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 31, "text": [ "false" ] } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "b.bake!" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 32, "text": [ "true" ] } ], "prompt_number": 32 }, { "cell_type": "code", "collapsed": false, "input": [ "b.baked?" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 33, "text": [ "true" ] } ], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }