Same as [the original](https://www.codewars.com/kata/simple-fun-number-258-is-divisible-by-6) (same rules, really, go there for example and I strongly recommend completing it first), but with more than one asterisk (but always at least one).
For example, `"*2"` should return `["12", "42", "72"]`.
Similarly, `"*2*"` should return `["024", "120", "126", "222", "228", "324", "420", "426", "522", "528", "624", "720", "726", "822", "828", "924"]`. Order matters and returning the right one is part of the challenge itself, yep!
More examples in the test codes and, of course, if you cannot generate any number divisible by 6, just return `[]` (or `[] of String` in Crystal).
def is_divisible_by_6(string):
    num_of_star = string.count('*')
    i = 0
    result = []
    num_lst = []
    while i < num_of_star:
        if i == 0:
            num_lst = [string.replace('*',str(x),1) for x in range(10)]
            i += 1
        else:
            c = num_lst[:]
            num_lst = [k.replace('*',str(x),1) for x in range(10) for k in c]
            i += 1
               
    for num in num_lst:
        
        if int(num) % 6 == 0:
            result.append(num)
    return list(sorted(result))
def is_divisible_by_6(string):
    num_of_star = string.count('*')
    i = 0
    result = []
    num_lst = []
    while i < num_of_star:
        if i == 0:
            num_lst = [string.replace('*',str(x),1) for x in range(10)]
            i += 1
        else:
            c = num_lst[:]
            num_lst = [k.replace('*',str(x),1) for x in range(10) for k in c]
            i += 1
               
    for num in num_lst:
        
        if int(num) % 6 == 0:
            result.append(num)
    return list(sorted(result))