‘2016/09’ カテゴリーのアーカイブ

「自然順ソート」あれこれ

2016/09/20

 Finder

Finder


 Finder

1,2,310,11,12

 
 perl

1,10,11,12,2,3

 

 Finder

@JunTajima FinderはJIS X 4061 照合順番を実装していると木田さんが言ってたような。


  (@ogwata) 2016911


 @ogwata

 JIS X 4061 PerlSort::Naturally使CPAN

Xojo内でCocoaのライブラリを呼び出してソート

 フロントエンドのツールはXojoなので、Xojo内でできればなと思って、過去にQiitaにされていたアップされていたこちらの神エントリをもとにどうにかソートできるようにしたのが以下。さすがです@monokanoさん。

 Xojo内でモジュール化しておいて元の配列を投げ、ソート後の配列を得る、みたいな使い方です。今回の目的としてはFinderのソート順の再現なので、Finderと同じエンジンを使うこちらが一番目的に叶いそうです。ただもちろんCocoaのライブラリを呼び出している以上Mac専用にはなります。

Applescriptでの自然順ソート

 AppleScriptでもできそうかなということでこちらの投稿をもとに作ってみたのが以下。

 他の処理系に投げるので一回文字列に結合して引数として投げ、ソートした後に再結合した文字列を得ます。でそれをまた分解して配列に。
 AppleScriptはテキストアイテムデリミタでの文字列の分解結合処理がいつもながらややこしいのですが、そのあたりはまあご愛敬ということで。こちらもAppleScriptを使う以上Mac専用です。まあそのうちAppleScriptで自然順ソートさせなきゃならないケースも出てくるかも知れないし。

PHPのnatsort関数でソート

 PHPには自然順ソートができるnatsortという関数がデフォルトで入っているとのことなのでやってみたのが以下。

 一番簡単かも。Mac環境に依存しないのでそういう意味での使い出もありそうです。

 3種類の自然順ソートを収録したXojoのファイルを

に置いておきます。



 Perl使

2016.9.20


ApplescriptFindertellsort by name
OS XFinderApplescriptFinderCocoa
PerlosascriptApplescriptFinder

行けますね。楽でいいかも。

プロフィール

Jun Tajima

Web
EPUB3