{ "metadata": { "language": "ruby", "name": "", "signature": "sha256:917f4c9ef4ad55215fea4ce4baf75fcdadc3915c2ce221b9881b73f231398b24" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# \u30d1\u30fc\u30d5\u30a7\u30af\u30c8Ruby\u8aad\u66f8\u4f1a\n", "\n", "## 3-5-8 \u30d6\u30ed\u30c3\u30af\u9014\u4e2d\u304b\u3089(P.98-)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def with_current_time\n", " yield Time.now\n", "end\n", "\n", "with_current_time do |now|\n", " puts now.to_s\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "2014-12-17 20:06:21 +0900\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "with_current_time do\n", " puts 'Hi'\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hi\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "with_current_time do |now, hogehoge|\n", " puts hogehoge.inspect\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "nil\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "def default_argument_for_block\n", " yield\n", "end\n", "\n", "default_argument_for_block do |val = 'Hi'|\n", " puts val\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hi\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "def flexible_arguments_for_block\n", " yield 1, 2, 3\n", "end\n", "\n", "flexible_arguments_for_block do |*params|\n", " puts params.inspect\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[1, 2, 3]\n" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "def block_sample(&block)\n", " puts 'stand up'\n", " block.call if block\n", " puts 'sit down'\n", "end\n", "\n", "block_sample do \n", " puts 'hoge'\n", " puts 'fuga'\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "stand up\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "hoge\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "fuga\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "sit down\n" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "block_sample" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "stand up\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "sit down\n" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## \u6b21\u56de\u306fP.100 Proc\u304b\u3089" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }