changed author email
[guish.git] / examples / fact.gsh
blob673ecf499dd3a1c70c28303909dccce64874211c
1 #!/usr/bin/env guish
2 #######################################################################
3 # Copyright (C) 2024 Francesco Palumbo <phranz.dev@gmail.com>, Naples Italy
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
17 ########################################################################
19 fact = {
20     if eq(@1, 0) {
21         return 1
22     } else {
23         return mul(@1, fact(sub(@1, 1)))
24     }
26 puts fact(7)