In J, functions have a valence of 1 or 2.


On Sat, Oct 29, 2011 at 1:25 PM, Andrew Pennebaker
<[email protected]> wrote:
> Apologies for crossposting, I'm registering for the programming forum right
> now.
>
> Okay, the left argument is assigned to x, the right argument is assigned to
> y.
>
> What about functions with arity greater than 2?
>
> Lightbulb: Does J limit arity to 0, 1, or 2?
>
> Cheers,
>
> Andrew Pennebaker
> www.yellosoft.us
>
> On Fri, Oct 28, 2011 at 9:37 PM, Ric Sherlock <[email protected]> wrote:
>
>> Explicit definitions like fizzy require you to refer to the arguments
>> explicitly. The right argument is assigned to "y" locally within the
>> verb (right argument is assigned to "x")
>>
>> fizzy =: 3 : 0
>>   if. div35 y do.
>>       'FizzBuzz'
>>   elseif. div3 y do.
>>       'Fizz'
>>   elseif. div5 y do.
>>       'Buzz'
>>   elseif. 1 do.
>>        > 'd' (8!:0) y
>>   end.
>> )
>>
>> On Sat, Oct 29, 2011 at 2:15 PM, Andrew Pennebaker
>> <[email protected]> wrote:
>> > To get a feel for J, I'm implementing FizzBuzz, but I keep getting a
>> control
>> > error.
>> >
>> > #!/usr/bin/env jconsole
>> >
>> > div3 =: 0 = 3 & |
>> >
>> > div5 =: 0 = 5 & |
>> >
>> > div35 =: div3 *. div5
>> >
>> > fizzy =: 3 : 0
>> >    if. div35 & do.
>> >        'FizzBuzz'
>> >    elseif. div3 & do.
>> >        'Fizz'
>> >    elseif. div5 & do.
>> >        'Buzz'
>> >    elseif. 1 do.
>> >        > 'd' (8!:0) &
>> >    end.
>> > )
>> >
>> > fizzy 1
>> >
>> > exit ''
>> >
>> > Cheers,
>> >
>> > Andrew Pennebaker
>> > www.yellosoft.us
>> >
>> > On Fri, Oct 28, 2011 at 8:39 PM, Tom Arneson <[email protected]> wrote:
>> >
>> >> Try
>> >>
>> >> mod3=: 3&|
>> >>
>> >>
>> >> -----Original Message-----
>> >> From: [email protected] [mailto:[email protected]] On
>> >> Behalf Of Andrew Pennebaker
>> >> Sent: Friday, October 28, 2011 12:54
>> >> To: J
>> >> Subject: [Jbeta] syntax for functions and modulo
>> >>
>> >> I'm trying to make a function mod3 that returns the input modulo three,
>> but
>> >> my syntax is wrong. I don't see why the syntax would be any different
>> from
>> >> the double example in the docs.
>> >>
>> >> $ jconsole
>> >>   double =: * & 2
>> >>   double 1
>> >> 2
>> >>   double 2
>> >> 4
>> >>   double 3
>> >> 6
>> >>   mod3 =: 3 | &
>> >> |syntax error
>> >> |   mod3=:    3|&
>> >>
>> >>
>> >> Cheers,
>> >>
>> >> Andrew Pennebaker
>> >> www.yellosoft.us
>> >> ----------------------------------------------------------------------
>> >> 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
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to