scripting challenge Contest ?

Sakari Ruoho sakari.ruoho at academica.com
Fri Jul 6 16:43:54 EDT 2007


I probably suck on this since I'm a noob, but the nevertheless I had fun 
with this one.. :D This is not optimized so it might have some overhead. 
I also nicked a piece of code from brian's one and changed it to my 
needs, hopefully you can forgive me ;)

button script:

on mouseUp
  put "This is a  test-piece." into sourceText
  put whole("a test",sourceText) & return after tString
  put whole("is a test-piece",sourceText) & return after tString
  put whole("is  a test-piece.",sourceText) & return after tString
  put "This is a great script - Brian did good!" into sourceText
  put whole("script - Brian",sourceText) & return after tString
  answer tString
end mouseUp


function whole stringToFind, sourceText
  set the caseSensitive to true
  set the wholematches to TRUE
  put zero into tSkip
  repeat while wordOffset(word 1 of stringToFind, sourceText, tSkip) > 0
    add wordOffset(word 1 of stringToFind, sourceText, tSkip) to tSkip
    put FALSE into tReturn
    repeat with x=2 to the number of words in stringToFind
      get matchText(word x of stringToFind, "^" & word (tSkip-1+x) of 
sourceText & "$" )
      if it is FALSE then
        put stripPunctuation(word (tSkip-1+x) of sourceText) into 
strippedString
        get matchText(word x of stringToFind, "^" & strippedString & "$")
        if it is not TRUE then
          put FALSE into tReturn
          exit repeat
        else
          put TRUE into tReturn
        end if
      else
        put TRUE into tReturn
      end if
    end repeat
    if tReturn is TRUE then
      return TRUE
      exit whole
    end if
  end repeat
  return FALSE
end whole


function stripPunctuation tString
  repeat for each char c in (";:.,!?"&return)
        replace c with empty in tString
    end repeat
    return tString
end stripPunctuation


FlexibleLearning at aol.com wrote:
> There is a wee challenge I posted to the metacard list for a  function that 
> returns whether a whole text string is in a  variable (must handle all 
> punctuation and ends of line etc), along the  lines of...
>
> put "This is a  test-piece." into sourceText (note the  punctuation and 
> hyphen)
> whole("a test",sourceText)   =>  FALSE
> whole("is a test-piece",sourceText)  => TRUE
> whole("is  a test-piece.",sourceText)  => TRUE
>
> There have been some good  attempts but it has yet to be solved completely. 
> Perhaps someone on  this list is up for it.
>  
> /H
>
>
>
> Fri Jun 29 Jacqueline Landman Gay  wrote:
>
>   
>>  I do miss those scripting challenges though. I wish  this
>> list would indulge more, it was great fun. The last one I can  recall on
>> this list was the creation of a working clock face. By the  time 
>> everyone
>> was done we had a very efficient and effective  script, and I think
>> everyone who followed the exchange learned a  lot.
>>     
>  
>
>
>
>    
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>   




More information about the use-livecode mailing list