PHPerがrubyを使いはじめた -4ページ目
<< 前のページへ最新 | 1 | 2 | 3 | 4

ディレクトリ内検索関数

※見やすくするため全角スペースでインデント。注意


ディレクトリ内検索関数(再帰的には作ってないため、そのディレクトリ内のみ検索)

あんまり作りこんでないですのでたいした機能はない。残念。


///////////////////////////////////
           PHP
///////////////////////////////////

引数1:ディレクトリパス ※ちなみに引数1が空だったり、ディレクトリじゃなかったりしたら空配列を返します(^^)

引数2:array("jpg","gif")を引数にした場合、ファイルの拡張子がjpgとgifのものを返す。


public function scanFiles($_dir, $search_ext=array()){
 if (empty($_dir) || !is_dir($_dir)) return array();

 $find_files = scandir($_dir);
 if($find_files === false ){

   return array();
 }else{

  foreach($find_files as $_key=>$_file){
   $pathinfo = pathinfo($_file);
   $ext = $pathinfo['extension'];
   if( array_search($ext, $search_ext) !== false){
    $files[] = $_file;
   }
  }
  return $files;

 }
}


///////////////////////////////////
           Ruby
///////////////////////////////////

こっちはruby。

オマケ機能で、頭に_(アンダーバー)が付いてるもの以外をGET。

正規表現も苦手なので、勉強のためやってみた。

ても勉強にもならない簡単なのだけどw


PHPと違うのは、ディレクトリが直接指定。定数とか直して。

あと、こっちはディレクトリのみ検索。ファイル検索したい場合は

Dir.glob(search_dir + "/[^_]*/") ⇒ Dir.glob(search_dir + "/[^_]*")

にすれば良かった希ガス。


def scan_dir

 dir_path = "#{RAILS_ROOT}/#{SEARCH_PATH}"
 return Dir.glob(dir_path + "/[^_]*/").collect{|f|File.basename(f)}
end


ん~とりあえずこんなとこかな。

あいさつ

PHPエンジニアでしたが、最近rubyをつかいはじめました。
言語なんて・・・と思ってたのですが、rubyの概念がイマイチ掴めなく四苦八苦です。
全部オブジェクトってナニ?ってレベルです。
へっぽこすぎ。

一応時間がある時にでもPHPとかrubyのサンプルソースを覚書程度に書いていきます。
たいした魅力はないのですが、欲しい方がいたら自己責任でどうぞ。

また、わかる方はソースに対してコメントしてくれるとうれしいです。
こうすればパフォーマンスがよくなるとか、見やすくなるとか。

ただまぁへっぽこなんでご容赦ください(;´▽`A``

【PHPについて】
基本的にPEAR+SMARTY使いです。
PAER使いっても基本的に使ってるのはMDB2です。
遅いけどまぁ業務でもないしいっか、ってとこです。
ちなみにZENDやらsymfonyやらcakeとかは使ってません。
ごめんなさい。

【rubyについて】
初心者もいいとこです。
こっちは例のごとくRails使ってます。
レベル的にはスライムと戦い始めた程度かと思います。
そしてrubyの構文自体いまいちわからないのが多い・・・。

以上。

ソース載せようと思ったけど、載せられそうなのがなかった。
早くもヤバイ状況ですねw
まぁまったりやっていきます。

ではよろしく。
<< 前のページへ最新 | 1 | 2 | 3 | 4