一番長いファイル名は?
30分プログラム、その536。一番長いファイル名が何か調べてみる。
ファイルの一覧の取得はlsやfindに任せればいいので、文字列の長さによるソートをコマンドとして実装した。
ネットワークがない環境で書いたので、infoやmanを駆使しようと思ったけど、さっぱり分からなかった。HTML版のリファレンスをローカルに持っといたほうがいいかもしれない。
使い方
# $ find ~/c | gosh lsort.scm | head -1 でもOK $ find ~/c -exec basename {} \;| gosh lsort.scm | head -1 Scrap_your_boilerplate:_a_practical_design_pattern_for_generic_programming.pdf
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- ;; ;; lsort.scm - ;; ;; Copyright(C) 2009 by mzp ;; Author: MIZUNO Hiroki / mzpppp at gmail dot com ;; http://howdyworld.org ;; ;; Timestamp: 2009/02/26 08:31:34 ;; ;; This program is free software; you can redistribute it and/or ;; modify it under MIT Lincence. ;; (use srfi-1) (define (length-sort xs) (sort xs (lambda (x y) (> (string-length x) (string-length y))))) (define (main _) (for-each print (length-sort (port->string-list (standard-input-port)))))