、彼らは同じように見えることができますが、その性質は非常に異なっています。
path!
がスラッシュ記号で区切られた値の集合(しばしばword!
値)であり、file!
はchar!
値の集合です。 file!
シリーズのスラッシュ文字は単なる文字なので、file!
にはサブ構造についての知識がありません。それはstring!
シリーズのセマンティクスを(ほとんど)持ちますが、path!
のセマンティクスはblock!
シリーズです。
は今、これがクリアされていることを、test/1/2
結果について、file!
シリーズのパス表記がstring!
上とは異なる振る舞いを持ち、それは、アクセサとして動作するのではなく、スマート連結を行います。それがうまく左右の部分に存在する余分なスラッシュ文字を処理しますので、それはスマートと呼ばれています。たとえば:
>> file: %/index.html
== %/index.html
>> path: %www/
== %www/
>> path/file
== %www/file
>> path/:file
== %www/index.html
同じパス表記ルールがあまりにもurl!
シリーズに適用されます:file!
がstring!
として、基本的に動作するよう、test: [%a/b]
のネストされた内容を変更するための
>> url: http://red-lang.org
== http://red-lang.org
>> url/index.html
== http://red-lang.org/index.html
>> file: %/index.html
== %/index.html
>> url/:file
== http://red-lang.org/index.html
だから、あなたがのために、利用可能な任意の方法を使用することができます文字列を変更します。例:ここでは
>> test: [%a/b]
== [%a/b]
>> change skip test/1 2 %c
== %""
>> test
== [%a/c]
>> change next find test/1 slash "d"
== %""
>> test
== [%a/d]
>> parse test/1 [thru slash change skip "e"]
== true
>> test
== [%a/e]
''私は何だった[「e」を終了するにはスラッシュ変更スルー]テスト/ 1を解析し、それらを処理するディレクトリに適し必要です。ありがとう –