llm
Download
54 lines 1.3 KiBTomoModified 2026-09-02 raw
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354

func all_nums(nums:[Int] -> Text)
    result := ""
    for num in nums
        result ++= "$num,"
    else
        return "EMPTY"
    return result

func labeled_nums(nums:[Int] -> Text)
    result := ""
    for num at i in nums
        result ++= "$i:$num,"
    else
        return "EMPTY"
    return result

func table_str(t:{Text:Text} -> Text)
    str := ""
    for k,v in t.entries()
        str ++= "$k:$v,"
    else return "EMPTY"
    return str

func table_key_str(t:{Text:Text} -> Text)
    str := ""
    for k in t.keys
        str ++= "$k,"
    else return "EMPTY"
    return str

test "for over list with else clause"
    >> all_nums([10,20,30])
    >> all_nums([])
    assert all_nums([10,20,30]) == "10,20,30,"
    assert all_nums([]) == "EMPTY"

test "for over list with index and else clause"
    >> labeled_nums([10,20,30])
    >> labeled_nums([])
    assert labeled_nums([10,20,30]) == "1:10,2:20,3:30,"
    assert labeled_nums([]) == "EMPTY"

test "for over table"
    >> t := {"key1": "value1", "key2": "value2"}
    >> table_str(t)
    >> table_str({})
    assert table_str(t) == "key1:value1,key2:value2,"
    assert table_str({}) == "EMPTY"

test "for over table keys"
    >> t := {"key1": "value1", "key2": "value2"}
    >> table_key_str(t)
    assert table_key_str(t) == "key1,key2,"