Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Functional > Re: a golden ol...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 24 of 40 Topic 2778 of 2841
Post > Topic >>

Re: a golden oldie challenge: Eliza

by "Stevan Apter" <encryptednospam@[EMAIL PROTECTED] > Feb 24, 2008 at 09:37 AM

the use of regular expressions can certainly make the code smaller,
as your example demonstrates.  i wonder though whether it is entirely
in keeping with the spirit of the exercise, which requires that:

1.  The script itself should be changeable by any novice.  That is to
say that it should not
     be a pile of hard-wired code written in the native language of
the program or require
     deep programming skills.

not that it would help make the k code shorter, since regexp isn't
built into k.

"William James" <w_a_x_man@[EMAIL PROTECTED]
> wrote in message
news:5fd7be4f-8465-44fd-9fed-1ac81ed3b0a0@[EMAIL PROTECTED]
> Stevan Apter wrote:
>> thanks for asking ken.
>>
>> e:{$[(#b)=i:(|/'b:(w@[EMAIL PROTECTED]
(w:(`$" "\:x@[EMAIL PROTECTED]
".?"))in`)in\:/:A)?1b;E@[EMAIL PROTECTED]
>>      " "~n:c@[EMAIL PROTECTED]
(c:{x@[EMAIL PROTECTED]
 i)ss/:N;c
>>      .q.ssr[c;n;" "/:$(),P'(w[k],p:1_'(0,1+k:b[i]?1b)_`,w)"I"$n]]}
>>
>> it's just a single eye-watering case statement:
>>
>>     if no keyword match in A, then return a default response from E
>>     else if no substitution in the response c picked from C, return c
>>     else substitute and return
> 
> This does so little that it should be no more than 2 lines.
> In Ruby:
> 
> S =
>  [ /father|mother|brother|sister/i, "Tell me about your 0."],
>  [ /\b(am|i'm) (.*)/i, ["Why are you 2?","Have you always been 2?"]],
>  [ /\bI was (.*)/i, ["Why were you 1?","I can't believe you were
> 1."]],
>  [ /\bI will (.*)/i, "Do you think it's wise to 1?"],
>  [ /\bI (.*)/i, "Why do you 1?" ],
>  [ /\b(you|your|yours)\b/i, ["We're talking about you, not me.",
>             "Please don't be so personal."]],
>  [ /.*/, ["That's very interesting. Do go on.",
>        "Tell me more.",
>        "I'm not sure that I understand you fully.",
>        "Can you elaborate on that?" ]]
> 
> (gets;sub(/[.!?,; ]+$/,"");x=Array(S.find{|a|$m=$_.match(a[0])}[1])
> puts x[rand(x.size)].gsub(/\d/){$m.to_a[$&.to_i]}) while 9
> 
> Although cryptic, it should make more sense to most programmers
> than the K code.




 40 Posts in Topic:
a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-22 03:49:44 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-22 03:59:02 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-22 14:09:58 
Re: a golden oldie challenge: Eliza
"John Thingstad"  2008-02-23 13:00:30 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-23 13:21:00 
Re: a golden oldie challenge: Eliza
Ken Tilton <kennytilto  2008-02-23 15:24:42 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-23 16:42:31 
Re: a golden oldie challenge: Eliza
Ken Tilton <kennytilto  2008-02-23 20:55:56 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 07:44:32 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-22 17:12:49 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-22 19:19:31 
Re: a golden oldie challenge: Eliza
Szabolcs <szhorvat@[EM  2008-02-23 14:12:17 
Re: a golden oldie challenge: Eliza
Szabolcs <szhorvat@[EM  2008-02-23 14:26:03 
Re: a golden oldie challenge: Eliza
Ben Bacarisse <ben.use  2008-02-24 00:01:08 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-23 20:14:36 
Re: a golden oldie challenge: Eliza
Szabolcs <szhorvat@[EM  2008-02-24 01:51:00 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-24 03:59:56 
Re: a golden oldie challenge: Eliza
Rainer Joswig <joswig@  2008-02-24 18:29:12 
Re: a golden oldie challenge: Eliza
Neelakantan Krishnaswami   2008-02-24 18:03:20 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-24 04:06:09 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 05:30:38 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 08:59:51 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 06:22:31 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 09:37:17 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 06:42:47 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 10:56:28 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 06:57:22 
Re: a golden oldie challenge: Eliza
Dimitre Liotev <notmy@  2008-02-24 10:00:29 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 10:49:22 
Re: a golden oldie challenge: Eliza
Arved Sandstrom <asand  2008-02-24 17:28:25 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 13:03:11 
Re: a golden oldie challenge: Eliza
Ken Tilton <kennytilto  2008-02-24 13:59:55 
Re: a golden oldie challenge: Eliza
Dimitre Liotev <notmy@  2008-02-24 11:18:27 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 12:36:12 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 13:11:47 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 13:26:38 
Re: a golden oldie challenge: Eliza
Arved Sandstrom <asand  2008-02-25 17:16:43 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 13:35:20 
Re: a golden oldie challenge: Eliza
Brian Adkins <lojicdot  2008-02-25 09:52:13 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-25 16:58:13 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri May 16 4:49:20 CDT 2008.