World: r3wp
[Core] Discuss core issues
older newer | first last |
Henrik 17-Sep-2005 [2032x3] | yes, if it's equivalent of AND, that makes sense |
>> all [1 2 3 4 5 false] == none >> all [1 2 3 4 5] == 5 | |
but: >> 1 and 2 and 3 and 4 and 5 == 0 >> 1 and 2 and 3 and 4 and 5 and false ** Script Error: Expected one of: integer! - not: logic! ** Near: 1 and 2 and 3 | |
Graham 17-Sep-2005 [2035] | well, the behaviour of 'all confuses me. |
Henrik 17-Sep-2005 [2036x3] | it doesn't make too much sense as a shortcut AND.... it makes more sense to say that it returns a value unless there is a FALSE or NONE in the block |
if you stick to TRUE and FALSE for ALL and AND, they would be equivalent in behaviour. it seems that ALL allows more mixing of the datatypes | |
could it be that all values are converted to logic! ? >> to-logic 1 == true >> to-logic none == false >> to-logic false == false >> to-logic 2 == true | |
Graham 17-Sep-2005 [2039] | perhaps we need to make an amendment to the wikibook. |
Henrik 17-Sep-2005 [2040] | it seems not: >> all [1 2 3 false] == none >> (to-logic 1) and (to-logic 2) and (to-logic 3) and (to-logic false) == false |
Graham 17-Sep-2005 [2041] | either that, or a RAMBO entry. |
Henrik 17-Sep-2005 [2042] | well it seems to behave like AND, it just returns NONE instead of FALSE |
Graham 17-Sep-2005 [2043] | so, it's not a shortcut |
Henrik 17-Sep-2005 [2044x3] | so it's not a true shortcut of AND and would fail if you were testing for FALSE |
this also doesn't work: >> (all [1 2 3 false]) and (all [1 2 3 true]) ** Script Error: Cannot use and~ on none! value ** Near: (all [1 2 3 false]) and (all [1 2 3 true]) | |
because ALL returns NONE instead of FALSE, since: >> logic? none == false | |
Graham 17-Sep-2005 [2047] | 'all is used widely ... in rebol scripts |
Henrik 17-Sep-2005 [2048] | so if there were to be a RAMBO entry, it would be because ALL doesn't return logic! values. the case would be the same for ANY. But there has to be a reason why it's made like this. |
Graham 17-Sep-2005 [2049] | yeah, to frustrate newbies |
Henrik 17-Sep-2005 [2050x2] | :-) testing with EITHER: >> either false [1][2] == 2 >> either true [1][2] == 1 >> either none [1][2] == 2 so it doesn't seem to have a reason to return NONE... |
a whole lot of things would break if the return value was changed from NONE to FALSE. it would be easier to say that ALL is not a really true shortcut AND | |
Graham 17-Sep-2005 [2052] | I suggest we submit a RAMBO and wait to see what Carl says ... |
Henrik 17-Sep-2005 [2053] | yep |
Graham 17-Sep-2005 [2054x2] | done. |
updated the wikibook as well. | |
Ashley 17-Sep-2005 [2056] | Something related that has always bugged me is to-logic: >> to-logic 'false == true >> to-logic "false" == true of what use then is to-logic? |
PeterWood 17-Sep-2005 [2057] | This ? >> to-logic 1 == true >> to-logic 0 == false |
Gabriele 17-Sep-2005 [2058x4] | >> any [false] == none |
>> select [a 1 b 2] 'c == none | |
see the pattern? :-) | |
i agree the help string should probably be clearer. | |
PhilB 18-Sep-2005 [2062] | How do send an email and cc a second email address I tried this lv-header: make system/standard/email [ to: [test1-:-somehost-:-com] cc: [test2-:-gmail-:-com] ] send/header/subject [test1-:-somehost-:-com] "This is a test" lv-header "Test Subject" but the email gets sent to the to address but not the cc address. |
Graham 18-Sep-2005 [2063x4] | USAGE: SEND address message /only /header header-obj /attach files /subject subj /show DESCRIPTION: Send a message to an address (or block of addresses) SEND is a function value. ARGUMENTS: address -- An address or block of addresses (Type: email block) message -- Text of message. First line is subject. (Type: any) REFINEMENTS: /only -- Send only one message to multiple addresses /header -- Supply your own custom header header-obj -- The header to use (Type: object) /attach -- Attach file, files, or [.. [filename data]] files -- The files to attach to the message (Type: file block) /subject -- Set the subject of the message subj -- The subject line (Type: any) /show -- Show all recipients in the TO field |
so, I guess send/only/header [ [test1-:-somehost-:-com][test2-:-gmail-:-com] ] "This is a test" lv-header "Test Subject" | |
I don't believe that 'send examines the header for cc and bcc fields. | |
yeah, it doesn't. check source send | |
PhilB 18-Sep-2005 [2067] | So I have to provide all the addresses as the 2nd parameter ... an amalgamation of the To: CC: & BCC addresses ..... |
Graham 18-Sep-2005 [2068x3] | no. |
you have to rebuild the header for BCC so that the to: address is the BCC: address, and the cc: field is none. | |
since BCC means blind copy - ie the recipient should not get to see the cc fields, and the email should be addressed to them. | |
PhilB 18-Sep-2005 [2071] | OK .. this seems to work .... thanks graham. |
Graham 18-Sep-2005 [2072] | no problems. |
Ladislav 19-Sep-2005 [2073x2] | One "poll" question. How many of you are using function with optional argument in your scripts and how much would you miss this feature? |
Another "poll". What would you say to this: | |
Pekr 19-Sep-2005 [2075] | what do you mean by function with an "optional argument? do you mean refinement? |
Ladislav 19-Sep-2005 [2076x2] | +-: :negate +- 6 ; == -6 +- -6 ; == 6 |
Function with optional argument: we can say either: list-dir %. or list-dir | |
Pekr 19-Sep-2005 [2078] | Weren't optional arguments problem in rebol? Wasn't it said to compliacte it language parser? I can live without them so far ... but ask those who code in rebol intensively ... |
Henrik 19-Sep-2005 [2079] | I just use refinements, if I want optional arguments... but I rarely use them |
Geomol 19-Sep-2005 [2080] | Ladislav, I've programmed an UNIX-like cd function with optional argument, but that's about it. |
Ladislav 19-Sep-2005 [2081] | aha, but you are using it in the console rather than in sripts, aren't you? |
older newer | first last |