Avoid interim variable

General APL language issues

Avoid interim variable

Postby bilekflo on Wed Nov 15, 2023 2:43 pm

Dear all,

I have the function leap, that checks if a year is a leap year or not.
Now I would like to calculate all leap years from 2023 till 2030.

leap←{0≠.=400 100 4∘|⍵}

I used this:

(leap¨y)/y←2022↓⍳2030

Could this be done simpler without saving the vector of years in y?

Thank you very much in advance.
Best regards,
Florian
bilekflo
 
Posts: 28
Joined: Wed Mar 12, 2014 10:07 pm

Re: Avoid interim variable

Postby Brian|Dyalog on Thu Nov 16, 2023 10:17 am

Hi Florian,

You can tweak leap a bit to make it take an array...

      leap←{0≠.=400 100 4∘.|⍵}


And then use:

      (leap⊢⍤/⊢)2022↓⍳2050
2024 2028 2032 2036 2040 2044 2048


I hope this helps!

/Brian
User avatar
Brian|Dyalog
 
Posts: 119
Joined: Thu Nov 26, 2009 4:02 pm
Location: West Henrietta, NY

Re: Avoid interim variable

Postby bilekflo on Thu Nov 16, 2023 4:21 pm

Hi Brian,

Thank you very indeed. This was is exactly what I need.

Great.

Best regards.
Florian
bilekflo
 
Posts: 28
Joined: Wed Mar 12, 2014 10:07 pm


Return to Language

Who is online

Users browsing this forum: No registered users and 1 guest