ruby - How to reuse a random letter -
i'm trying code randomly generate letter begin each word of "zip", "zap" , "zop". different letter should chosen every time code run each word needs start same letter.
i can't seem reuse random letter 3 times:
def generate puts "3... 2... 1... improv: (enter letter)" text = gets.chomp.upcase puts text + "ip, " + text + "ap, " + text + "op!" puts "my turn!" yield puts g_l(1) + "ip, " + "#{g_l(1)}ap, " + "#{g_l(1)}op!" end generate def g_l(number) charset = array('a'..'z') - array["a", "e", "i", "o", "u"] array.new(number) { charset.sample } .join end end what i'm aiming for:
run 1: hip, hap, hop! run 2: dip, dap, dop! run 3: sip, sap, sop! what i'm getting:
run 1: hip, zap cop run 2: fip, wap, dop run 3: rip, tap, bop i tried find result using terms like: "generating same random letter", "reusing random letter", "storing random number" etc., searches didn't help.
you resampling each time use g_l(1) instead save char = g_l(1) , reuse same char
def generate puts "3... 2... 1... improv: (enter letter)" text = gets.chomp.upcase puts text + "ip, " + text + "ap, " + text + "op!" puts "my turn!" yield char = g_l(1) puts char + "ip, " + "#{char}ap, " + "#{char}op!" end generate def g_l(number) charset = array('a'..'z') - array["a", "e", "i", "o", "u"] array.new(number) { charset.sample } .join end end or make whole thing 1 function can call:
def answer puts "3... 2... 1... improv: (enter letter)" text = gets.chomp[0].upcase # should able type more 1 letter? charset = array('a'..'z') - array["a", "e", "i", "o", "u"] puts text + "ip, " + text + "ap, " + text + "op!" puts "my turn!" char = charset.sample puts char + "ip, " + "#{char}ap, " + "#{char}op!" end answer
Comments
Post a Comment