teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

mixedという指定はできませんでした

2017/05/13 02:42

投稿

maisumakun
maisumakun

スコア146674

answer CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  # 「追記」について
6
6
 
7
- PHPの場合、実行前に型エラーをチェックする機能は**なくて**、引数に型宣言を書いても**実行時に**`TypeError`を投げるだけです。なので、他言語ならジェネリックを要するような複雑な条件でテストしたければ、型宣言を`mixed`で素通しにして、関数に入ってからコードでチェックする、という形でいいのではないかと思います。
7
+ PHPの場合、実行前に型エラーをチェックする機能は**なくて**、引数に型宣言を書いても**実行時に**`TypeError`を投げるだけです。なので、他言語ならジェネリックを要するような複雑な条件でテストしたければ、型宣言を外して素通しにして、関数に入ってからコードでチェックする、という形でいいのではないかと思います。

2

誤字

2017/05/13 02:42

投稿

maisumakun
maisumakun

スコア146674

answer CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  # 「追記」について
6
6
 
7
- PHPの場合、実行前に型エラーをチェックする機能は**なくて**、引数に型宣言を書いても**実行時に**`TypeError`を投げるだけです。なので、言語ならジェネリックを要するような複雑な条件でテストしたければ、型宣言を`mixed`で素通しにして、関数に入ってからコードでチェックする、という形でいいのではないかと思います。
7
+ PHPの場合、実行前に型エラーをチェックする機能は**なくて**、引数に型宣言を書いても**実行時に**`TypeError`を投げるだけです。なので、言語ならジェネリックを要するような複雑な条件でテストしたければ、型宣言を`mixed`で素通しにして、関数に入ってからコードでチェックする、という形でいいのではないかと思います。

1

追記について

2017/05/13 02:41

投稿

maisumakun
maisumakun

スコア146674

answer CHANGED
@@ -1,3 +1,7 @@
1
1
  内部で`float`(整数として使う場合の精度は53ビット)として扱えればいい、のであれば、そのままで動きます([PHPマニュアル](http://php.net/manual/ja/functions.arguments.php#functions.arguments.type-declaration.strict))。
2
2
 
3
- > デフォルトでは、間違った型を渡された場合でも、可能な限りは来されている型に変換します。
3
+ > デフォルトでは、間違った型を渡された場合でも、可能な限りは来されている型に変換します。
4
+
5
+ # 「追記」について
6
+
7
+ PHPの場合、実行前に型エラーをチェックする機能は**なくて**、引数に型宣言を書いても**実行時に**`TypeError`を投げるだけです。なので、多言語ならジェネリックを要するような複雑な条件でテストしたければ、型宣言を`mixed`で素通しにして、関数に入ってからコードでチェックする、という形でいいのではないかと思います。