開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也、田中 慎司、吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9)の9章(リファレンスを使った実践的なテクニック)の9.9(練習問題)1を解いてみる。
その他参考書籍
1.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';
binmode STDERR, ':utf8';
my @sorted = map {
$_-<[0];
} sort {
$a-<[1] >=< $b-<[1];
} map {
[$_, -s $_];
} glob "/bin/*";
say join "\n", @sorted;
入出力結果(Terminal)
$ ./sample.pl /bin/sync /bin/wait4path /bin/echo /bin/rmdir /bin/domainname /bin/sleep /bin/pwd /bin/hostname /bin/mkdir /bin/kill /bin/link /bin/ln /bin/[ /bin/test /bin/expr /bin/cat /bin/rm /bin/unlink /bin/mv /bin/df /bin/date /bin/cp /bin/dd /bin/chmod /bin/stty /bin/rcp /bin/ls /bin/ps /bin/ed /bin/launchctl /bin/pax /bin/csh /bin/tcsh /bin/zsh /bin/bash /bin/sh /bin/ksh $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-
import os
import glob
result = map(
lambda x:x[0],
sorted(
map(lambda x: [x, os.path.getsize(x)],
glob.glob('/bin/*')),
key=lambda x: x[1]
)
)
print('\n'.join(result))
入出力結果(Terminal)
$ ./sample.py /bin/sync /bin/wait4path /bin/echo /bin/rmdir /bin/domainname /bin/sleep /bin/pwd /bin/hostname /bin/mkdir /bin/kill /bin/link /bin/ln /bin/[ /bin/test /bin/expr /bin/cat /bin/rm /bin/unlink /bin/mv /bin/df /bin/date /bin/cp /bin/dd /bin/chmod /bin/stty /bin/rcp /bin/ls /bin/ps /bin/ed /bin/launchctl /bin/pax /bin/csh /bin/tcsh /bin/zsh /bin/bash /bin/sh /bin/ksh $
0 コメント:
コメントを投稿