ocaml-programming

Simple OCaml programs
git clone git://git.laack.co/ocaml-programming.git
Log | Files | Refs | README

better_fizzbuzz.ipynb (2145B)


      1 {
      2  "cells": [
      3   {
      4    "cell_type": "code",
      5    "execution_count": 4,
      6    "id": "f39de10b-caca-47ca-8510-b373729e957c",
      7    "metadata": {},
      8    "outputs": [
      9     {
     10      "data": {
     11       "text/plain": [
     12        "val as_str : int -> string = <fun>\n"
     13       ]
     14      },
     15      "execution_count": 4,
     16      "metadata": {},
     17      "output_type": "execute_result"
     18     }
     19    ],
     20    "source": [
     21     "let as_str idx = \n",
     22     "    let x = (if idx mod 3 = 0 then \"Fizz\" else \"\")\n",
     23     "    ^ \n",
     24     "    (if idx mod 5 = 0 then \"Buzz\" else \"\")\n",
     25     "    in if x = \"\" then string_of_int idx else x"
     26    ]
     27   },
     28   {
     29    "cell_type": "code",
     30    "execution_count": 5,
     31    "id": "8f03e107-c163-4e93-896d-2daa6a443b28",
     32    "metadata": {},
     33    "outputs": [
     34     {
     35      "data": {
     36       "text/plain": [
     37        "val print_fizz_buzz : int -> unit = <fun>\n"
     38       ]
     39      },
     40      "execution_count": 5,
     41      "metadata": {},
     42      "output_type": "execute_result"
     43     }
     44    ],
     45    "source": [
     46     "let print_fizz_buzz n = for i = 1 to n do \n",
     47     "    print_endline (as_str i)\n",
     48     "done"
     49    ]
     50   },
     51   {
     52    "cell_type": "code",
     53    "execution_count": 6,
     54    "id": "d46ba613-0fb0-46b2-ba3c-3c3a7b892efd",
     55    "metadata": {},
     56    "outputs": [
     57     {
     58      "name": "stdout",
     59      "output_type": "stream",
     60      "text": [
     61       "1\n",
     62       "2\n",
     63       "Fizz\n",
     64       "4\n",
     65       "Buzz\n",
     66       "Fizz\n",
     67       "7\n",
     68       "8\n",
     69       "Fizz\n",
     70       "Buzz\n",
     71       "11\n",
     72       "Fizz\n",
     73       "13\n",
     74       "14\n",
     75       "FizzBuzz\n"
     76      ]
     77     },
     78     {
     79      "data": {
     80       "text/plain": [
     81        "- : unit = ()\n"
     82       ]
     83      },
     84      "execution_count": 6,
     85      "metadata": {},
     86      "output_type": "execute_result"
     87     }
     88    ],
     89    "source": [
     90     "print_fizz_buzz 15"
     91    ]
     92   }
     93  ],
     94  "metadata": {
     95   "kernelspec": {
     96    "display_name": "OCaml default",
     97    "language": "OCaml",
     98    "name": "ocaml-jupyter"
     99   },
    100   "language_info": {
    101    "codemirror_mode": "text/x-ocaml",
    102    "file_extension": ".ml",
    103    "mimetype": "text/x-ocaml",
    104    "name": "OCaml",
    105    "nbconverter_exporter": null,
    106    "pygments_lexer": "OCaml",
    107    "version": "4.14.2"
    108   }
    109  },
    110  "nbformat": 4,
    111  "nbformat_minor": 5
    112 }