Kaynağa Gözat

week3

master
Thorn Avery 4 yıl önce
ebeveyn
işleme
a638f4bd24
2 değiştirilmiş dosya ile 32 ekleme ve 0 silme
  1. +24
    -0
      week3/assignment_3a.hoon
  2. +8
    -0
      week3/week3.hoon

+ 24
- 0
week3/assignment_3a.hoon Dosyayı Görüntüle

@@ -0,0 +1,24 @@
:: Hoon 101: Assignment 3a. Comment each line of code to tell the reader what the code is doing.
:: Comments should be written as "breathing comments" as suggested in the Hoon Style Guide: https://urbit.org/docs/learn/hoon/style/
:: create a gate, with the sample @ud, given the face n
::
|= n=@ud
:: attach a 't' faced @ud to the subject, with the value 1
::
=/ t=@ud 1
:: create and execute a gate, such that we can recurse back to this point
::
|-
:: if n is 1, return the next child, otherwise the one after
::
?: =(n 1)
:: at the end, return our total
::
t
:: otherwise recurse with n minus one,
:: and t multiplied by n. note t is
:: not reset with the recurse, as it
:: is attached before our recurse point
::
$(n (dec n), t (mul t n))

+ 8
- 0
week3/week3.hoon Dosyayı Görüntüle

@@ -0,0 +1,8 @@
|= a=(list *)
=/ n=@ud 3
|-
?~ a ~
?: =(1 n)
i.a
$(n (dec n), a t.a)

Yükleniyor…
İptal
Kaydet