{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#### ■属性や状態の取得" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2018-01-24 13:34:11 +0900\n", "2017-03-19 06:03:39 +0900\n", "2017-03-19 06:01:13 +0900\n", "true\n", "true\n", "false\n", "true\n", "true\n", "\"file\"\n", "true\n", "false\n" ] }, { "data": { "text/plain": [ "false" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fname = 'C:\\Windows\\System32\\drivers\\etc\\hosts'\n", "\n", "p File.atime(fname)\n", "p File.ctime(fname)\n", "p File.mtime(fname)\n", "\n", "p File.exist?(fname)\n", "\n", "p File.owned?(fname)\n", "p File.executable?(fname)\n", "p File.readable?(fname)\n", "p File.writable?(fname)\n", "\n", "p File.ftype(fname)\n", "p File.file?(fname)\n", "p File.directory?(fname)\n", "File.pipe?(fname)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "false\n", "false\n", "824\n", "false\n" ] }, { "data": { "text/plain": [ "#" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p File.socket?(fname)\n", "p File.symlink?(fname)\n", "\n", "p File.size(fname)\n", "p File.zero?(fname)\n", "\n", "File.stat(fname)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "false\n", "true\n", "false\n" ] } ], "source": [ "file = 'foo.txt'\n", "puts File.empty?(file)\n", "File.write(file, '')\n", "puts File.empty?(file)\n", "File.write(file, 'hi')\n", "puts File.empty?(file)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### ■ ファイルパスの操作" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"C:\\\\Windows\"\n", "\"notepad.exe\"\n", "\"notepad\"\n", "\".exe\"\n", "\"C:\\\\Windows/notepad.exe\"\n", "\"C:/Windows/notepad.exe\"\n", "\"/usr/local/bin/ruby\"\n", "[\"C:\\\\Windows\\\\System32\\\\etc\", \"hosts\"]\n" ] }, { "data": { "text/plain": [ "[\"/usr/local/bin\", \"ruby\"]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fname = 'C:\\Windows\\notepad.exe'\n", "\n", "p File.dirname(fname)\n", "p File.basename(fname)\n", "\n", "p File.basename(fname, '.*')\n", "\n", "p File.extname(fname)\n", "\n", "p File.join('C:\\Windows', 'notepad.exe')\n", "p File.join('C:','Windows', 'notepad.exe')\n", "p File.join('/usr/local', 'bin/ruby')\n", "\n", "p File.split('C:\\Windows\\System32\\etc\\hosts')\n", "File.split('/usr/local/bin/ruby')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "#" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "path = Pathname.new(\"C:\\Windows\") / \"notepad.exe\"" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"C:/Users/chezo/Documents/source/kawasakirb/meetups/pruby/fname\"\n" ] }, { "data": { "text/plain": [ "\"C:/Users/chezo/Documents/source/kawasakirb/meetups/pruby/fname\"" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p File.expand_path('fname')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"C:/Users/chezo/Documents/source/kawasakirb/meetups/pruby\"" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "File.expand_path('..', __FILE__)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"C:/Users/chezo\"" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "File.expand_path('~')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"C:/Users/chezo/Documents/source/kawasakirb/meetups/pruby/~\"" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "File.absolute_path('~')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次回「5-7-4 Kernel.#open」から" ] } ], "metadata": { "kernelspec": { "display_name": "Ruby 2.4.1", "language": "ruby", "name": "ruby" }, "language_info": { "file_extension": ".rb", "mimetype": "application/x-ruby", "name": "ruby", "version": "2.4.1" } }, "nbformat": 4, "nbformat_minor": 2 }