2017-10-27 23 views
1

パラメータを指定せずにfを呼び出すと、スクリプトエラー:が設定されていないとエラーになります。なぜそのblk議論のために?関数内のrebol/redの未設定パラメータをテストするにはどうすればよいですか?

f: func['p [string! unset!]][ 
    if unset? 'p print "unset" 
] 
+1

注:pで呼ばれる値の種類をテストするためには、あなたが:pを使用してifのための適切な体ブロックを提供する必要があります! (ブロックに付加することができる)「値」として問題がある。これは興味深いかもしれません:[なぜ(またはなぜそうではないのですか?)] [Rebolのような言語でUNSET!]](https://forum.rebol.info/t/why-or-why-not-have-unset-in -rebol-like-languages/113) – HostileFork

答えて

3

'pは言葉pに評価されます。 UNSETその

f: func ['p [string! unset!]][ 
    if unset? :p [print "unset"] 
] 

>> f "123" 
== none 
>> f 
unset 
関連する問題