2013年8月25日日曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の15章(スマートマッチとgiven-when)の15.6(練習問題)3を解いてみる。

その他参考書籍

3.

コード(BBEdit)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';

for (@ARGV) {
    say $_;
    when(! -e){say "存在しない";}
    when(-r _) {say "    読み出し可能"; continue}
    when(-w _) {say "    書き込み可能"; continue}
    when(-x _) {say "    実行可能";continue}
}

入出力結果(Terminal)

$ ./sample.pl *
Gilligan:
    読み出し可能
    書き込み可能
Ginger:
    読み出し可能
    書き込み可能
Lovey:
    読み出し可能
    書き込み可能
MaryAnn:
    読み出し可能
    書き込み可能
MonkeyMan:
    読み出し可能
    書き込み可能
Oogaboogoo
    読み出し可能
    書き込み可能
    実行可能
Professor:
    読み出し可能
    書き込み可能
Skipper:
    読み出し可能
    書き込み可能
Thurston:
    読み出し可能
    書き込み可能
__pycache__
    読み出し可能
    書き込み可能
    実行可能
barney
    読み出し可能
betty
    読み出し可能
coconet.dat
    読み出し可能
    書き込み可能
coconet_total.dat
    読み出し可能
    書き込み可能
coconet_total_2.dat
    読み出し可能
    書き込み可能
date.log
    読み出し可能
    書き込み可能
date.txt
    読み出し可能
    書き込み可能
distribute-0.6.34.tar.gz
    読み出し可能
    書き込み可能
fred
    読み出し可能
gilligan.info
    読み出し可能
    書き込み可能
ginger.info
    読み出し可能
    書き込み可能
hello_world.pl
    読み出し可能
    書き込み可能
    実行可能
html
    読み出し可能
    書き込み可能
link_test
    読み出し可能
    書き込み可能
ln.txt
    読み出し可能
    書き込み可能
ln1.txt
    読み出し可能
    書き込み可能
log
    読み出し可能
    書き込み可能
log_file.txt
    読み出し可能
    書き込み可能
lovey.info
    読み出し可能
    書き込み可能
ls.err
    読み出し可能
    書き込み可能
ls.out
    読み出し可能
    書き込み可能
maryann.info
    読み出し可能
    書き込み可能
monkeyman.info
    読み出し可能
    書き込み可能
numbers
    読み出し可能
perl_kamimura_blog
    読み出し可能
    書き込み可能
perl_kamimura_blog.html
    読み出し可能
    書き込み可能
perl_program1
    読み出し可能
    書き込み可能
    実行可能
professor.info
    読み出し可能
    書き込み可能
result
    読み出し可能
    書き込み可能
sample
    読み出し可能
    書き込み可能
    実行可能
sample.pl
    読み出し可能
    書き込み可能
    実行可能
sample.py
    読み出し可能
    書き込み可能
    実行可能
sample.txt
    読み出し可能
    書き込み可能
sample_folder
    読み出し可能
    書き込み可能
    実行可能
sample_text
    読み出し可能
skipper.info
    読み出し可能
    書き込み可能
some_file
some_folder
    読み出し可能
    書き込み可能
    実行可能
sortable_hash
    読み出し可能
standings.db
    読み出し可能
    書き込み可能
test.out
    読み出し可能
    書き込み可能
test.py
    読み出し可能
    書き込み可能
    実行可能
test.txt
    読み出し可能
    書き込み可能
test.txt.out
    読み出し可能
    書き込み可能
test_folder
    読み出し可能
    書き込み可能
    実行可能
test_link
    読み出し可能
    書き込み可能
thurston.info
    読み出し可能
    書き込み可能
tmp.txt
    読み出し可能
    書き込み可能
tmp1.txt
    読み出し可能
    書き込み可能
tmp2.txt
    読み出し可能
    書き込み可能
total_bytes.dat
    読み出し可能
    書き込み可能
untitled text 2.txt
    読み出し可能
    書き込み可能
$

ちなみにpython3.3の場合。

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-

import glob, os, stat

for file in glob.glob("*"):
    print("{0}: ".format(file), end="")
    if not os.path.exists(file):
        print(" 存在しない")
    mode = os.stat(file).st_mode
    print(stat.filemode(mode))

入出力結果(Terminal)

$ ./sample.py
__pycache__: drwxr-xr-x
barney: -r--------
betty: -r--------
coconet.dat: -rw-r--r--
coconet_total.dat: -rw-r--r--
coconet_total_2.dat: -rw-r--r--
date.log: -rw-r--r--
date.txt: -rw-r--r--
distribute-0.6.34.tar.gz: -rw-r--r--
fred: -r--------
gilligan.info: -rw-r--r--
Gilligan:: -rw-r--r--
ginger.info: -rw-r--r--
Ginger:: -rw-r--r--
hello_world.pl: -rwxr-xr-x
html: -rw-r--r--
link_test: -rw-r--r--
ln.txt: -rw-r--r--
ln1.txt: -rw-r--r--
log: -rw-r--r--
log_file.txt: -rw-r--r--
lovey.info: -rw-r--r--
Lovey:: -rw-r--r--
ls.err: -rw-r--r--
ls.out: -rw-r--r--
maryann.info: -rw-r--r--
MaryAnn:: -rw-r--r--
monkeyman.info: -rw-r--r--
MonkeyMan:: -rw-r--r--
numbers: -r--------
Oogaboogoo: drwxr-xr-x
perl_kamimura_blog: -rw-r--r--
perl_kamimura_blog.html: -rw-r--r--
perl_program1: -rwxr-xr-x
professor.info: -rw-r--r--
Professor:: -rw-r--r--
result: -rw-r--r--
sample: drwxr-xr-x
sample.pl: -rwxr-xr-x
sample.py: -rwxr-xr-x
sample.txt: -rw-r--r--
sample_folder: drwxr-xr-x
sample_text: -r--------
skipper.info: -rw-r--r--
Skipper:: -rw-r--r--
some_file: ----------
some_folder: drwxr-xr-x
sortable_hash: -r--------
standings.db: -rw-r--r--
test.out: -rw-r--r--
test.py: -rwxr-xr-x
test.txt: -rw-r--r--
test.txt.out: -rw-r--r--
test_folder: drwxr-xr-x
test_link: -rw-r--r--
thurston.info: -rw-r--r--
Thurston:: -rw-r--r--
tmp.txt: -rw-r--r--
tmp1.txt: -rw-r--r--
tmp2.txt: -rw-r--r--
total_bytes.dat: -rw-r--r--
untitled text 2.txt: -rw-r--r--
$

0 コメント:

コメントを投稿