6

ウィキペディアによると、「Perl 6 は、プログラマーが静的型付け、動的型付け、またはその 2 つの組み合わせを選択できるハイブリッド型付けシステムを提供します。」ハイブリッド型付けはどのように機能しますか? Perl で静的型付けを使用するということは、単に型を宣言し、安全性と実行速度と引き換えに文字列を明示的に数値にキャストし、その逆を行う必要があるということですか? この機能に関する情報がほとんどないように思われることに気付きました。

4

1 に答える 1

6

私が理解しているように、ハイブリッド型付けは単に型注釈がサポートされていることを意味しますが、オプションです:

my Int $i = 0; # static typing
my $i = 0; # dynamic typing

明示的な型注釈を使用すると、コンパイラがチェックして、コードをより適切に最適化できる場合があります。Objective-C など、他の言語にも同様の機能があります。

NSString *foo = @"foo"; // explicit type signature, static typing
id foo = @"foo"; // dynamic typing

技術的に言えば、これは静的型付けと動的型付けの正確な違いではありません。明示的な型注釈を必要としない静的型システムを持つ言語があります。Swift や Haskell では、(型注釈なしで) のようなことを言ってもlet f = 0、型推論のおかげで静的な型チェックを行うことができます。型システムについて議論する前に知っておくべきことも参照してください。

Perl 6 の静的型付けと動的型付けの違いに関しては、他にも興味深い機能があります。Jnthn の話を参照してください。

于 2015-07-17T20:45:43.827 に答える