/: doesn't really work for unicode, unless you convert unicode into an integer 
mapping and then use that as x for /:

/: has the advantage of working with boxed data, or "records"/lists

With those limitations we could think of using ,:&(a.&i.)&": to build numeric 
arrays to compare, but that runs into rank quirks with single "character" left 
sides, so boxing seems simpler with: 

   '3'([: ,/&> ,&<&(a.&i.)&":) '3a' 
51  0 
51 97 


You gain the "benefit" of being able to treat original integers as strings.

comparing then with < and > is a little harder due to handling tie breaks, and 
you are duplicating the real work of /: in doing so?

'3'([: * [: -~/ 1 i."1~ [: (</ ,: >/ ) [: ,/&> ,&<&(a.&i.)&":) '3a'


----- Original Message -----
From: bill lam <bbill....@gmail.com>
To: Programming forum <programm...@jsoftware.com>
Cc: 
Sent: Thursday, November 13, 2014 8:11 AM
Subject: Re: [Jprogramming] Need analog strcmp-function verb

Sorting is an expensive operation. Could it be only once?

On Thu, Nov 13, 2014 at 8:43 PM, Henry Rich <henryhr...@nc.rr.com> wrote:
>    strcmp =: (\: -&{. /:)@,&<
>
> Henry Rich
>
>
> On 11/13/2014 5:35 AM, Jan-Pieter Jacobs wrote:
>>
>> J has total ordering (meaning anything can be sorted):
>> http://www.jsoftware.com/jwiki/Essays/The%20TAO%20of%20J
>>
>> Using the verbs listed there you can define:
>>
>> strcmp =: _1 0 1 #~ gt , eq , lt
>>    gt =: 1 0 -: /:@,&<
>>    eq =: -:!.0
>>    lt =: 1 0 -: \:@,&<
>>
>> ('a a a ac') strcmp&>&:;: 'ab aa a ab'
>>
>> 1
>>
>> 1
>>
>> 0
>>
>> _1
>>
>>
>> 2014-11-13 11:16 GMT+01:00 Sergey Kamenev <jsof...@inetstar.ru>:
>>
>>> Hello folks!
>>>
>>> Need strcmp verb
>>> http://php.net/manual/function.strcmp.php
>>>
>>> 'a' strcmp 'ab'
>>> 1
>>>
>>> 'a' strcmp 'aa'
>>> 1
>>>
>>> 'a' strcmp 'a'
>>> 0
>>>
>>> 'ac' strcmp 'ab'
>>> _1
>>>
>>> May be you have implementation of this verb?
>>>
>>> Thank you!
>>> Sergey
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm



>>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to