Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] I hate computers!

From: edanaii::cox::net at: 4-Jan-2003 9:34

No, really! I do. Well, OK, when they don't do what I want, I hate 'em. :) This is driving me nuts. I whipped up a small routine to validate parameters. It is relatively simple, You pass it the parameter, you pass it a series full of datatypes, it compares the two and tells you if your parameter's datatype is valid (IOW, in the series). But it's actin' strangely. Here it is: ====================================================================== REBOL [] Valid-Type?: Func [ Parameter [Any-Type!] DataTypes [Series!] ] [ ForEach DataType DataTypes [ If (Type? Parameter) = DataType [ Return True ] ] Return False ] ====================================================================== The problem is in the line "If (Type? Parameter) = DataType" it just doesn't work. When I call the routine, it does this:
>> Valid-Type? "x" [ String! Money! Integer! ]
== false Which is incorrect. It should be "true" since "x" is clearly a string. The only way it works, is when I change the line in question to "If (join (to-string Type? Parameter) "!") = (to-string DataType)", which is a little counter-intuitive. So, bug or oversight? And is there, as always, a more elegant way of doing this? -- Sincerely, | The problems of two little people don't amount to Ed Dana | a hill of beans in this crazy mixed-up world! But Software Developer | this is OUR hill, and these are OUR beans! 1Ghz Athlon Amiga | -- Leslie Neilson, Naked Gun (Casablanca).