Synopsis 29:組込み関数
Rod Adams <rod@rodadams.net> Larry Wall <larry@wall.org> Aaron Sherman <ajs@ajs.com> Mark Stosberg <mark@summersault.com> Carl Mäsak <cmasak@gmail.com> Moritz Lenz <moritz@faui2k3.org> Tim Nelson <wayland@wayland.id.au> Carlin Bingham <carlin@theintersect.org>
Created: 12 Mar 2005 Last Modified: 25 Jun 2011 Version: 51
ドキュメントはドラフトだ。
もしあなたが HTML 版を読んだなら、それは https://github.com/perl6/specs/blob/master/S29-functions.pod の下で仕様リポジトリで Pod から生成される、それでもしあなたが変更をすることを望むなら、そこ、 git 倉庫でそれをエディットしろ。
Perl 6 に、すべての組込み関数は名前付きパッケージ(一般にクラスあるいはロール)のものだ。 すべての関数が CORE スコープの中に読み込まれることを保証されるわけじゃない。
付加、輸入された関数のリストで中にCORE Perl のそれぞれのリリースで変更を受け得るだろう。 「将来の証拠」それらコードに望んでいる著者が特にそれらが使うであろう関数を輸入するか、あるいは常にそれらのフルネームによっての関数に言及するべきだ。
6.0.0が出て来た後、グローバルな別名が軽く取り去られないだろう、そして決して少なくとも1年の非難サイクルを体験しないでまったく削除されないだろう。 とにかく、あなたはあなたが Perl の特定のバージョンのためにインタフェースを欲する、そして、セキュリティー更新が許す限りにおいて、それが Perl の後のバージョンによってエミュレートされることができることを明示することができる。
コードがここで与えられるところで、それは意味規則を定義して、実装を規定しないように意図される。
ただ関数だけが文法的なカテゴリーを指定しないで、あるいはカテゴリーで宣言した演算子と関数の間のが、ドキュメンテーションのための、特定の相違がないterm:
(S02 で「ビットと小片」を見ろ)このドキュメントの範囲の外にある「演算子」として「関数」と他のすべてだと記述されるだろう。 (演算子のために S03 を見ろ。)
実際の事実で、ここで定義された「関数」の大部分が多 sub であるか、あるいは同じく多 sub として輸出される多メソッドだ。 Setting は CORE レキシカルスコープの中に(彼・それ)らの種々のパッケージからすべてのスタンダードマルチ sub を読み込むことに責任がある。 S02 を見ろ。
次の型宣言は仮定される:
レベルの不注意なすべての「文字」型の根本的なクラス。
これはサブタイプであるのStrその最も高いサポートされた Unicode レベルで1の長さに限定されている。
型名Char 現在のレキシカルスコープ(「電流」が一般的なコード(ロールとマクロ)で終局のレキシカルスコープを意味するためにとられる、一般的なコードが定義されるスコープじゃないところ)の最大のサポートされた Unicode レベルに aliased される。 言い換えれば、使えChar
あなたがあなたがどのレベルのために手紙を書いているか気にしないとき。
サブクラス(そうなものisa AnyChar):
はい、 Byte は文字列と数両方だ。
賛成の短い名前Grapheme 典型的にだChar なぜならそれはデフォルト Unicode レベルだから。 書記素がそのベース符号位置に申し込む符号位置を「結合して」ベース符号位置プラス次の何とでも定義される。
書記素が常にたまたま、前もって作曲された符号位置を持っている書記素に関しては、その符号位置と同じであるユニークな整数 id を割り当てられる。
賛成の短い名前がないCharLingua なぜなら型は特定の言語宣言の範囲の外(に・で)無意味だから。 実際、CharLingua それ自身インスタンスを作られることができない抽象型だ。
その代わりにあなたは名前が好むようにするCharFrenchCharJapaneseCharTurkishなどなぜならインスタンスを作られたCharLingua 型。
(そして文通することStrLingua 型、多分。)
subset Matcher of Mu where none(Bool)
マッチするべきテストを供給するために使われる。 仮定しろ~~ それに対して使用されるだろう。
それらがほとんど常に引数があまりにもまもなく誤りに対して評価されたプログラミングエラーを示すから、 Booleans は禁じられている$_. 例えば:
grep $_ == 1, 1,2,3; # evaluating wrong $_, so forbidden
grep { $_ == 1 }, 1,2,3; # okay
grep * == 1, 1,2,3; # okay
subset KeyExtractor of Code where { .signature === :(Any --> Any) };
subset Comparator of Code where { .signature === :(Any, Any --> Int ) };
subset OrderingPair of Pair where { .left ~~ KeyExtractor && .right ~~ Comparator };
subset Ordering where Signature | KeyExtractor | Comparator | OrderingPair | Whatever;
ことの間に比較を扱うために使われる。 これがのよう関数で終わる Generally sort()min()max()など、 $ として、お互いに2つのものがどのように肉親を比較するかについての情報を提供する仮引数によって.
命令することに対して、最初の引数に信号を送って、否定 / ゼロ / ポジティブを返す2の arity を持っているクロージャが「Perl 5 方法で」としても知られる second. で / 後にタイされた / の前にいるべきだ。
同等のためにクロージャは第2に最初の引数が同等であるかどうかを示して0ではなくあるいは0を返す。
(それによって)匹敵する「キー」を返す1の arity を持っているクロージャ。 値が使って比較されるcmp 順序付けのためにそしてeqv Perl 6 に異なった比較をする同等のために型に依存すること。 (あなたがそれと比較になるに違いない Perl 5 文字列順序を受けとるためにleg その代わりに。)
内部的に値についての KeyExtractor の結果はキャッシュされるべきだ。
シンプルを生み出すことは非常に容易であることに注意を払えKeyExtractor
使用方法~* 文字列のためにそして+* 数で、それ以来たいていの単純な演算子で* 1つの引数のクロージャを返す。
@sorted = sort +*, @unsorted; #ascending numeric @sorted = sort -*, @unsorted; #descending numeric
上記の2つのメソッドの組み合わせ、1(人・つ)が期待される内部にキーをキャッシュすることを利用することを望む時の間起きるために、しかしそれらを何かと比較するべき願望eqv あるいはcmpそんなものけれども<=> あるいはleg.
もしシグネチャーが基準として明示されるなら、シグネチャーはそれぞれの値にバインドされる、そして次に、そのトレイトによって修正されるように、それぞれのパラメータが、その型によれば、位置のオーダーで比較をする。 基本的に、システムはシグネチャーに基づいてあなたのために重要な抽出と比較サブルーチンの主要部を書くだろう。
注文のために定位置パラメタ比較のリストは、[ || ]を使うかのように、減少している、しかしすべての比較が、もし初期の(の・もの・人)が増加あるいは減少している注文を決定するなら、行なわれる必要があるわけじゃない。 同等のためにリストは、[ && ]を使うかのように、減少している。
注文の* 演算子のためにデフォルト比較をする:
@sorted = sort *, @unsorted;
見る「callframe そしてcaller 関数」> S06 で.
見る「callframe そしてcaller 関数」> S06 で.
multi eval ( Str|Buf $code, Grammar :$lang = CALLER::<$?PARSER>)
Execute $code それが書かれたコードであるかのように$lang. もし$code
型の(こと・もの)だBufテクニックが(そのために)コンパイラとして適用される同じ解読$lang 通常、入力ファイルにするだろう。
賛成のデフォルト$lang eval 呼び出しの正確な位置において実施に言語だ。
何でも返す$code コンパイルが失敗するとき戻るか、あるいは失敗する。
Perl 5 にそれほど同じじゃない状態で注意する、eval 何のためにも例外あるいはコントロールの例外を捕えない。
multi evalfile (Str $filename ; Grammar :$lang = Perl6)
Perl 5 をのように振る舞って、そして取って代わるdo EXPRオプションで$lang
サポートしろ。
multi exit (Int $status = 0)
すべてのプログラム実行を止めて、そして戻る$status 呼び出している環境に。
辞任が適切なスコープ - 去ることがそんなものを阻止するすべてを走らせるLEAVEKEEPそしてUNDOすべてによって後に続かれたEND すべてによって後に続かれて、ブロックDESTROYちょうど記憶の返還を要求して、そしてそれで、それらがプロセスの外(に・で)目に見える副作用を持つかもしれないから、省略されることができないよりいっそう多くをするs。 もし埋め込みの通訳から動かされるなら、すべての記憶が同じく返還を要求されなくちゃならない。
[ TBD :スレッドの終了ポリシー]
our Num multi sleep ( Num $for = Inf )
上へ賛成の睡眠にそうしようと試みろ$for 秒ごと。 実装が、もしそれがまったく可能であるなら、 sub - 第2の解決をサポートするよう義務づけられる。
見ろSynopsis 17: Concurrency もっと多くの詳細のために。
multi die (@LIST)
致命的な例外をスローする。 デフォルト例外ハンドラは $* ERR (標準エラー出力)への傾きのそれぞれの要素を印刷する。
multi fail (Str $message)
ただルーチンの中に呼び出されることができて、そしてルーチンをそうさせるreturn スローされない例外;Failure それが文字列化するオブジェクトをそうすること$message. もしuse fatal ルーチンが呼び出された、それが例外をスローするところ(に・で)実施される。
our Object method bless(Object::RepCandidate $candidate, *@protos, *%init_args)
呼び出しているbless 何に関してでも同じで新しいオブジェクトを作る(ただ典型的に型オブジェクト)がインボカントとして分類するインボカント。
$candidate オブジェクトの基礎をなしている代表を提供するために使われる。
デフォルトはそうだP6opaque、種々の他の表示以外他の言語でインターオペレートするとき特に、切望されるかもしれない。 @protos そして%init_args 両方ともは、デフォルトにおいてとまったく同じように、値が新しいオブジェクトに供給されるための方法を提供するnew メソッド。
bless 自動的に適切なすべてを呼び出すBUILD 呼び出すことによって定常課程BUILDALL 大部分によって得られたオーダーに最少によって得られ中にオブジェクトを初期化する現在のクラスのためのルーチン。 オブジェクト作成で S12 でもっと多くの詳細情報のためにオブジェクトを見ろ。
multi sub chrs( Int *@grid --> Str ) multi method ords( Str $string: --> List of Int ) is export multi method chr( Int $grid: --> Char ) is export multi method ord( Str $string: --> Int ) is export
chrs ゼロあるいはもっと多くの整数書記素 id をとって、そして文字列として対応する文字を返す。 もしレキシカルスコープがサポートする電流、その書記素がそうであるより高い抽出レベルを表す書記素 id が使われるなら変換したから、他の Str がそうであろう何でもコンテキストで低く見たのとちょうど同じように、現在の実利的なコンテキストに適切であるであろう符号位置 / バイトの対応するより低レベルの文字列。
ords 他の指示が言う;それは整数として文字列に値、帰りに文字値を要する。 文字の定義はプラグマ依存だ。
通常それは書記素 id だ、しかし符号位置あるいはバイトスコープの下で、文字列は適切な低レベルのビューに強制されて、そして符号位置あるいはバイトとして解釈される。 従って、「バイトを使え」の下であなたは決して256より大きい値を見ないだろう、そして「使用符号位置」の下であなたは決して 0x10ffff より大きい値を見ないだろう。 「使用書記素」(デフォルト)の下の唯一の保証は返された数が、もしこのような符号位置があるなら、書記素を表している前もって作曲された符号位置の符号位置に対応するであろうということだ。 さもなければ、実装は何も 0x10ffff よりそれほど大きいユニークな id リターンすることが自由だ。 (chr 関数が符号位置あるいはバイトに適切にこのような id を backtranslate するノウハウに何ででもコンテキストを遺言で残す。 我々がすべての符号位置のコンテキストがその正規化プリファレンスを知っている、そしてすべてのバイトのコンテキストが同じくそのエンコーディングプリファレンスを知っていると想定していることに注意を払え。 (これらは $? としてのレキシカルスコープで理解可能だNFと $? Enc コンパイル時定数))
chr そしてord 変形は、一つの文字を処理することに、限定されている。 習慣的であるように、あなたはより長い文字列をパスするかもしれないそうすることordただ、ただ最初の文字が翻訳されるだろう。
our Item multi item ( $item )
その引数に一般的な項目コンテキストを押し付けて、そしてそれを返す。
our List multi list ( Iterable $item ) { $item.iterator.list }
our List multi list ( List \$iter ) { $iter }
ほとんど無操作命令が;ただ $item が反復されることができることを確認する。
our List multi flat ( *@list )
その引数に平らなコンテキストを押し付けて、そしてそれらを返す。
仕事がされる悪漢*@ バインディング。
our List multi lol ( **@list )
lol (「リストのリスト」)コンテキストで引数リストに評価されることを強いる。
(添え字が多次元のスライスのようなリストのリストを扱う。)
Any Parcel 外のリストのレベルが変換されるであろうトップの中でSeq. 仕事は実際にバインディングによってされる to the **@ パラメータ。
同じくいっそう一般的な人たちに会え.tree そうするためのメソッド、どちらが義務を怠るかlol 意味規則。
hash contextualizer
our Hash multi hash ( *@list )
引数リストにハッシュコンテキストで評価されることを強いる。
展開式はリストコンテキストで評価される(何でも平らにするCaptures) それから、ハッシュがリストから作られて、リストと思われるだろうのPairs.(それがそうであるリストの Any 要素Pair キーであって、そしてその値としてリストで次の値をつかむふりをするだろう。) 同等そうすること%() (その空き以外%() 手段%($/)空である間に、hash() 空のハッシュを意味する).
our Str multi gist( |$item ) our Str multi method gist( Mu $item: )
例えば非公式の文字列威圧政治、人が、もしデバッグしているなら見ることを望むかもしれない何か、を作り出す。 それぞれの型がそれ自身の要点代表を決定するかもしれない。 Mu.gist ただ呼び出し.perlしかしどんな型でものgist メソッドが人がビットは別として教えることか、あるいは少しより短い何かへの無限の傾きをトリムするために cluttery 、あるいは冗長であることか、あるいは適切な空白文字で合成の値をフォーマットするのが分かるであろう metainfo を削除するためにこれをオーバーライドするかもしれない。
gist 特に、種々の人に直面する出力ルーチンのそれぞれの個別の引数の上の最後の文字列威圧政治として使用されるsaynotewarnそしてそうするためのどんな卓越していない引数でもdie.print それがプリンターに出力することだから、関数が特に除外される。 :-)
our Num multi prefix:<:16> ( Str $hexstr ) our Num multi prefix:<:8> ( Str $octstr ) our Num multi prefix:<:2> ( Str $binstr ) our Num multi prefix:<:10> ( Str $decstr ) etc.
デフォルト16進数 / 8進数 / 2進 / 10進基数で、数として文字列を解釈する。 Any 底接頭辞(0b 、 0d 、 0x 、 0o)が中に文字列がこの演算子をオーバーライドするであろうと述べた(この文は真の:10だ== :8(「0d10」))、 0b と 0d が「16」によって 16進数字として解釈されるであろうことを除いて(hex("0d10") == :16 "0d10"). fail失敗に関するs。
これらは、統語論上、本当に関数じゃない、しかし副詞のフォームがたまたまそれほどちょうど許す引数を括弧で括る. けれどもいっそう典型的にあなたは見るだろう
:4<222> :16<deadbeef>
そしてそんなもの。
Perl 5 に取って代わるhex そしてoct.
our OS::Name multi gethost() our OS::Name multi gethost( Str $name, OS::Addfamily :$type ) our OS::Name multi method gethost( OS::Addr $addr: ) is export our OS::Name multi method gethost( URI $uri: ) is export
gethost 関数がホストの指名あるいはアドレス情報に作用して、そして戻るOS::Name.OS::Name 存在する、ほんのわずかだけ:
class OS::Name {
has Str $.name;
has OS::Addr $.addr;
has Array of Str @.aliases;
has Array of OS::Addr @.addrs;
}
このような名前は住所にマップする名前を持っている何にでも当てはまることができる、しかしながら、この場合名前はホスト名だ、そしてアドレスはある種のネットワークID (例えば IPv4 演説を持っているホストを変換している IPv4 アドレスいつ)だ。
文字列化されたいつOS::Name その名前をもたらす。 文字列化されたいつOS::Addr 適切なテキスト形式(例えば IPv4 アドレスのための「10.1.2.3」)のそのアドレスをもたらす。
オプションtype 副詞は、ホスト名を変換するとき、宣告され得て、そしてただ適切なアドレス家族の(こと・もの)であるそれらのアドレスだけに結果をフィルターするだろう。 この特徴は基礎をなしているオペレーティング・システムによってサポートされるかもしれない、あるいは Perl はそれを模倣するかもしれない。
例:
say "Connection from {$socket.peer.gethost}";
my $address = gethost("foo.example.com").addr;
my $hostname = gethost(:addr<"10.1.2.3">);
our Bool multi chroot ( Str $path = CALLER::<$_> )
POSIX システムで、このようなそれほど「ルート」的なディレクトリがなる現在のプロセスのプロセス環境を変える$path そしてすべての根付いたパス(先行するパスセパレータから始まるそれら)はそのパスに相対的だ。 セキュリティー理由で、多くのオペレーティング・システムがこの機能性をスーパーユーザに制限する。 帰りの値は成功の上に真だろう。
our Str multi getlogin ()
プログラムを走らせているアカウントのユーザ名を返す。 これは使うことほど安全じゃないかもしれないgetpwuid 若干のプラットホームの上に。
our Bool multi kill ( OS::Signal $signal, Bool :$group, *@pids ) our Bool multi method kill ( Proc::PID $pid: OS::Signal $signal?, Bool :$group )
既定の事実を送る$signal 与えられたプロセス(es)と帰りに、もしプロセスの何も存在しなかったなら、もしプロセスのすべてが存在して、そしてそうであったなら、成功(真)を示しているブール値がシグナルと失敗(偽)を送った、あるいはシグナルはそれらに届けられることができなかった。
$signal 1整数信号数あるいは文字列から初期化されることができる。 共通シグナルがそうだ:
KILL - stop the process, do not allow it to exit gracefully TERM - stop the process, allow it to exit gracefully HUP - Hangup, often used as a request to re-run from scratch STOP - Pause execution CONT - Continue after a STOP
信号名前と番号の全リストのためにあなたの操作上のシステムドキュメンテーションを調べろ。 互換性のために、信号名が「SIG」によって前接続されているかもしれない。
メソッドフォームはシグナルを省略するかもしれない。 この場合、デフォルトシグナルはそうだ'TERM'.
もし:group 名指されたパラメータは通過する、kill 一つのプロセスよりむしろプロセスグループにシグナルを送ろうと試みるだろう。
この機能性はプラットホームに特定されている。
特別なシグナル0 どちらが実際に送られてもまったくシグナルを届けることができて、そしてプロセスがまだ走っているかどうか決定するために使われる:
say "Still running" if $proc.kill(0);
our Proc::Status multi shell ( $expression, :$bg, :%env = %*ENV ) our Proc::Status multi run ( *$cmd, *@args, :$bg, :%env = %*ENV )
shell そしてrun 外部プログラムを実行して、そして、プログラムが終了した途端に、コントロールを呼び出し側に返せ。
shell システムシェルを詳細調査する(cmd 窓の上に、/bin/sh
Unixish システムで)、それですべての usuall 殻メタキャラクターを解釈する.
run 位置の引数の最初の実行可能な名前と休養としての引数をパスするコマンドライン引数として扱うから exectuable がどんな処理でもない(それが最初にバッファーに文字列をコード化すること以外そうするshell).
いずれかの関数のリターン値はプログラムの終了ステータスであって、そして次のコンテキストで評価されることができる:
Bool - True = success; False = failure Int - Exit status (per the .exit method)
見ろwait もっと多くのどのようにかについての詳細のためにProc::Status オブジェクトが使われる。
実行することに関しての失敗、定常課程の上にfail().
もし:bg 名指されたパラメータは通過する、プログラムはバックグラウンドで実行されるだろう、そして、子プロセスが作成されるとすぐに、実行コマンドは戻るだろう。 オブジェクトが返したこの手段は実際にであるProcそれは作られたプロセスを表す。
[メモ:がそうするべきだ: bg 書式撮影ファイルハンドルを rw するか、あるいは点の機能性に過度に負荷をかけ過ぎるそれである ? 失点は外部のコードを制作すること【に関して】新しいオープンであるべきか? - ajs ]
[推測:多分 () がサポートするべきである殻 () とラン:$cwd = $*CWD
パラメータ - moritz ]
multi runinstead ( ; Str $path, *@args ) multi runinstead ( ; Str $command )
同一そうすることrun それ以外それは決して戻らない。 実行されたプログラムはメモリでの現在ランニングのプログラムを置き換える。
Perl に並列化マネージメントのもっとレベルが高いモデルがある(S17 での同時発生参照)。 これらの関数はただ最低レベルの手段だ
our Proc sub Processes::fork()
現在のプロセスのコピーを作る。 両方のプロセスが戻るからfork. プロセスが子供のプロセスを返すオリジナルの(人たち・もの)Proc オブジェクト。 プロセスが親プロセスを返す新たに作られた(人たち・もの)Proc オブジェクト。 何とでも同じように proc オブジェクト、子プロセスオブジェクト numifies からプロセス id (OS 被扶養者整数)。 しかしながら、オブジェクトが numifies する親プロセス0 子供と親がお互いを識別することができるように。
典型的な使用がそうだろう:
if !defined(my $pid = fork) {
die "Error calling fork: $!";
} elsif $pid == 0 {
say "I am the new child!";
exit 0;
} else {
say "I am the parent of {+$pid}";
wait();
}
our Proc::Status multi method wait( Proc $process: *%options ) our Proc::Status multi wait ( Proc $process = -1, *%options )
子プロセスが終わるのを待って、そして子供のためにステータスオブジェクトを返す。 オブジェクトがプロセスに numify するであろうこのステータスは去った子供について身分証明書を調べる。
重要な proc ::ステータスメソッド:
.exit - Numeric exit value .pid - Process ID .signal - Signal number if any, otherwise 0
歴史上の理由である.status 等しいメソッド:
($status.exit +< 8) +| $status.signal
もし$process 供給される、それから、所定のプロセスが終了したとき、待ちがただ戻るだけだろう。 あるいはフルProc オブジェクトはパスする、あるいはただ数値的であり得る、プロセスが身分証明書を調べる。 A-1 明示的にその待ちがすぐに戻るべきであることを示すもし子プロセスが終了する何も。
このようにして呼び出されるとき、返送された(人たち・もの)Proc::Status オブジェクトがそうしてしまっているだろう.pid の-1 (それは同じくそれが numifies することだ)もし待つべきこのようなどのプロセスもなかったなら。
名指された選択が含む:
真をデフォルトとする。 もし万事整っているから偽であるなら、これは待ちにすぐに戻ることを強いる。
歴史の互換性のために存在する。 WNOHANG = > がそれとまったく同じの1blocking = 偽の > 。
次の関数は Apocalypse / Synopsis 数によって分類される。
地下聖堂 getlogin / chroot しろ[得ろ | セット][ pw | */ が setpgrp setpriority 時死なせるグラム].
・・・。 もしプラットホームが右の(の・もの・人)であるなら、これらはおそらく自動的に GLOBAL に読み込まれた POSIX の部分であるだろう
これらの関数はデフォルトネームスペースの中に輸出される
perl5 に存在したこれらの関数はまだ存在する、しかしデフォルトネームスペースの一部ではなくがさらに何かか。
関数が今見いだされることができるか、あるいはコンテナモジュールの中で何かで置き換えた次のこと。
抹消、が存在する、ポップ、プッシュ、が unshift を変えて、接合する
S32 - 環境 - ライブラリで Numeric に会え。
関数が今見いだされることができるか、あるいは IO モジュールの中で何かで置き換えた次のこと。
近く binmode 、 chdir 、 chmod 、 chown 、を受け入れて、バインドしろ、 closedir 、接続 eof 、 fcntl 、 fileno 、が集まる、 getc 、 getsockname 、 getsockopt 、グロブ、 ioctl 、リンク、 lstat 、開いている mkdir 、 opendir 、がパイプ処理するリスン、印刷、 readdir 、 readline 、 readlink readpipe 、 recv 、名前変更、 rewinddir 、 rmdir が、例えば目指す読まれた printf 、選り抜きの seekdir 、送信、 setsockopt シャットダウン、ソケット、 socketpair 、統計値、 symlink 、 sysopen 、 sysread 、 sysseek syswrite 、が教えて、 umask 、切り離しを telldir して、切り落とす
関数が今見いだされることができるか、あるいは Temporal モジュールの中で何かで置き換えた次のこと。
gmtime 、 localtime 、時間
関数が今見いだされることができるか、あるいは文字列モジュールの中で何かで置き換えた次のこと。
インデックスを急に中止して、むしゃむしゃ食べろ、 lc 、 lcfirst 、が納まる、 quotemeta 、分離された rindex 、 sprintf 、 substr 、 uc 、 ucfirst 、がアンパックする
これらの若干がただ一般的な関数として時代遅れにされる、そして、右のパッケージを使うことによって、まだ利用可能だ。 他のものが時代遅れにされる、関数(これらは下の(彼・それ)ら自身のセクションにある)よりむしろそのそれらにキーワード、がある。
$num1 % $num2
浮動小数点法演算、すなわち5.5%の1をする== 0.5 と5% 2.5== 0。
use DB_File;
捨てられた。 コアからダンプを復活させることは近代的なバーチャルメモリオペレーティング・システムでとにかくそれほど有用じゃない。 加速がそうであるべきである新会社がいずれかの種類(詳細が非常に実装に特定されるだろう)、あるいは前もって分岐することのプリコンパイラを使って Perl 5 のアプリケーションのようなデーモンを達成した::(それがポートされるとき、外部モジュールであろう) Persistant 。
上の .pairs () メソッドを見ろ。
S16 の NameServices ロールはこれらの大部分をカバーする。
釈義7を見ろ。
ユーザーと S16 の Group ロールはこれらの大部分をカバーする。
S16 の NameServices ロールはこれらの大部分をカバーする。
この言葉は Perl 6 に禁止される。 あなたは単位を指定しなくちゃならない。 インチが練習する、これは、それが Str.bytes () 、あるいは他の何かさえであり得たけれども、おそらくあなたが Str.chars () を必要とすることを意味する。 詳細については S32 - 設定ライブラリ / 文字列を見ろ。
IPC を見ろ:: SysV
通り過ぎて置き換えられるtemp それ、同じじゃないlocal値を変えないことへのデフォルト。
S17 で同時発生を見ろ。 lock 通り過ぎて置き換えられたis atomic.
ノーがあるpos それが文字列がスレッドの間で分担されることを可能にしないであろうから Perl 6 の関数。 一般にあなたは使うことを望む$/.to それのために今、あるいはあなた自身のポジション変数を語彙として保持しろ。
&func.meta.signature; &func.^signature;
そこ(に・で)、それがほとんど常に Perl 5 に型名を得るために使われたときから、審判員 () がさらに何かか。 もしあなたが本当に型名を欲するなら、あなたは使うことができる$var.WHAT.perl. もしあなたが本当に P5 審判員意味規則を欲するなら、使えPerl5::p5ref.
けれどももしあなたが型に対してテストにただ不十分であるなら、あなたは多分能力を発揮する方がより良いisa あるいはdoes あるいはcanあるいはただ$var ~~ TYPE.
これの良い用途があったか?
参照 IPC:: SysV ;
S16 の NameServices ロールはこれらの大部分をカバーする。
参照 IPC:: SysV ;
Algorithm はあまりにも Anglo 中心だった。 もしどうにかして一般化されるなら持って戻ってこられることができた。
これらはコンテナ型によって取り換えられる。 コンパイラは、若干の代表が宣言でその主旨でされない限り、語彙の変数が決して行かない何でもそのコンテナ型を変えると想定するために無料だ。 注意しろ: P5 のタイされた () は乱暴に P6 の変数 () によって置き換えられる。
XXX 例?
私の $foo はそうだ... ? がメタ演算後にタイである「再び祝福しろ」のためのコンテナ型 - マクロタイ($var 、 $class 、 *@args){ { variable($var).meta.rebless($class, *@args ) }コードしろ})
endXXX
「タイ」でメモを見ろ、上に、しかし基本的にこれらはコンテナ・クラスで置き換えられる。
リプレイスがそうするべきだvec 宣言されたバッファー / 配列のbituint2uint4など.
wait 今オプションのプロセス / pid の有無にかかわらず呼び出されることができる。
釈義7を見ろ。
次のことが Perl 5 の perlfunc でリストされた、しかし今関数よりむしろキーワードだと見なされるべきだ。
last, my 、次に、ノー我々の、、実装、帰り、 sub 使用
これらがデフォルトによって輸出されるかどうかについて確かじゃない。 同じく、多くがもう存在しないかもしれない;もしそうであるなら、それらが「時代遅れの」セクションに入力されるべきだ。
アラーム獲物
chroot crypt getlogin getpeername -- should this go on Pipe?
OS オブジェクト:
--Process getpgrp getppid getpriority setpgrp setpriority --Service getservbyname getservbyport --Protocol getprotobyname getprotobynumber --Network getnetbyaddr getnetbyname --Host gethostbyaddr gethostbyname
成功する進むリドゥ
eval に呼び出し側 chr 打ち抜き型ドを祝福する重役の出口分岐が16進法の輸入に行く、 int oct ord が syscall システムタイムが utime するスカラースリープステートが待つことを要求する
どうか perl6 - 言語にエラーとフィードバックをポストしてくれ。 もしあなたが一般的なリストを作っているなら、どうかトピックによるメッセージを分離してくれ。