プログラミングお題の一覧はこちら ※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 二つのフルパスを受け取り、一つ目のパスから二つ目のパスへの相対パスを返す関数を実装せよ。 条件) ・パス区切り文字は / のみサポートする。 ・結果パスは カレントディレクトリを表す ./ もしくは、一つ親のディレクトリを表す ../ から始める。 ・パスが / で終わる場合ディレクトリとする。 ・パスが / で終わらない場合ファイルとする。 ・フルパスは / から始め、それ以外の場合エラーとする。 ・空のパス(空文字列、null、nilなど)が渡された場合、エラーとする。 ・パスに / が連続した場合、一つの / と見なす。(例: ///aaa///bbb///ccc.txt => /a/b/c.txt) ・パス区切り文字以外でファイル名とし