ディレクトリ
Perl 6には、opendirとその仲間の代わりに、ディレクトリ(デフォルトでは現在のディレクトリ)からファイルのリストを返す1つのdir関数があります。 千の言葉の代わりに:
# Rakudo > dir build parrot_install Makefile VERSION parrot docs Configure.pl README dynext t src tools CREDITS LICENSE Test.pm > dir 't' 00-parrot 02-embed spec harness 01-sanity pmc spectest.data
Dirには、作業の結果に応じてgrepを使用するためのオプションのテストパラメーターがあります。
> dir 'src/core', test => any(/^C/, /^P/) Parcel.pm Cool.pm Parameter.pm Code.pm Complex.pm CallFrame.pm Positional.pm Capture.pm Pair.pm Cool-num.pm Callable.pm Cool-str.pm
ディレクトリはmkdir( 'foo')を介して作成されます
ファイル
Perl 6でファイルを読み取る最も簡単な方法は、丸lurみです。 ファイルの内容を文字列として返します。
> slurp 'VERSION' 2010.11
古典的な方法へのアクセスがあります:
> my $fh = open 'CREDITS' IO()<0x1105a068> > $fh.getc # = > $fh.get # pod > $fh.close; $fh = open 'new', :w # IO()<0x10f3e704> > $fh.print('foo Bool::True > $fh.say('bar Bool::True > $fh.close; say slurp('new') foobar
ファイルチェック
ファイルの存在とタイプのチェックはスマートマッチングを通過します~~
> 'LICENSE'.IO ~~ :e # ? Bool::True > 'LICENSE'.IO ~~ :d # ? Bool::False > 'LICENSE'.IO ~~ :f # ? Bool::True
軽量です。
ファイル::検索
標準機能が終了すると、モジュールはビジネスに接続されます。 ファイル::ファイルから検索::ツールコレクションは、必要なファイルを検索するためにディレクトリツリーを検索し、見つかったファイルの遅延リストを作成します。 Rakudo Starにバンドルされており、neutro経由で簡単にインストールできます。
例:
find(:dir<t/dir1>, :type<file>, :name(/foo/))
/ foo /規則性に適した名前のt / dir1ディレクトリに、ファイルの遅延リストとファイルのみを作成します。 リスト項目は単純な行ではありません。 これらは、完全なパスを持つ文字列に変わるオブジェクトですが、同時にそれらが存在するディレクトリの名前(dir)とファイル名(name)のアクセサを持っています。 詳細については、ドキュメントを参照してください。
便利なイディオム
新しいファイルを作成する
open('new', :w).close
名前のないファイルハンドラ
given open('foo', :w) { .say(' !'); .close }