Guest User

Untitled

a guest
Oct 5th, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 2.00 KB | None | 0 0
  1. class Array
  2.     def any
  3.         unless self.empty?
  4.             [self[rand(self.length)]]
  5.         else
  6.             []
  7.         end
  8.     end
  9. end
  10.  
  11. def word n
  12.     # hy - Voiceless Palatal Frictive (-h-uman)
  13.     # zy - Voiced Palatal Frictive
  14.     # ny - Palatal Nasal
  15.     # ly - Palatal Lateral Approximate
  16.     # ty - Voiceless Palatal Affricate
  17.     # gy - Voiced Palatal Affricate
  18.     # th - Voiceless Dental Frictive
  19.     # dh - Voiced Dental Frictive
  20.     # Last syllable is always stressed.
  21.     #nucleus = ["ei","ai","oi","ui","au","eu","ou","iu"]
  22.     first = ["n","n","m","r","l","j","j","hy","zy","zy","ny","ly","ts","dz","dz","ty","gy","gy","t","d","d","p","b","b","s","z","z","f","v","v","th","dh","dh","th","dh","dh","n","n","m","r","l","j","j","hy","zy","zy","ny","ly","s","s","z","f","v","v","","","","","","","","","","","","","",""]
  23.     middl = first - ["","","","","","","","","","","","","",""] + ["nd","ngy","zd","rd","rdz","rdh","ldz","lgy","zgy","ld","ldh","rn","nz","nzy","rz","lz","lzy","ndh","ln","lny","nn","ll","rr","zz"]
  24.     #middl = first - ["","","","","","","","","","","","","",""] + ["st","nt","rt","lt","nd","ngy","zd","rd","rdz","rdh","ldz","lgy","zgy","ld","ldh","rn","nz","nzy","rz","lz","lzy","ndh","ln","lny","nn","ll","rr","zz"]
  25.     final = ["n","r","n","r","z","l","","","","","","","",""]
  26.     vowel = ["a","a","a","a","e","i","e","e","o","o","i","u"]
  27.     syl = []
  28.     n.times do |c|
  29.         #unless c.zero?
  30.         #   syl += middl.any
  31.         #else
  32.         #   syl += first.any
  33.         #end
  34.         syl += first.any
  35.         syl += vowel.any
  36.         syl += final.any
  37.     end
  38.     #syl += final.any
  39.     word = ""
  40.     for i in syl
  41.         word += i
  42.     end
  43.     return word
  44. end
  45.  
  46. def rant
  47.     r = []
  48.     sentence = []
  49.     sen = rand(10)+1
  50.     s = 0
  51.     (rand(20)+10).times do
  52.         s += 1
  53.         len = rand(2)+1
  54.         w = word(len)
  55.         if s == sen
  56.             s = 0
  57.             w += [".","?","..."].any.first + " "
  58.             sentence.push(w)
  59.             sa = ""
  60.             for i in sentence
  61.                 sa += i
  62.             end
  63.             r.push(sa.capitalize)
  64.             sentence = []
  65.             sen = rand(10)+1
  66.         else
  67.             w += " "
  68.             sentence.push(w)
  69.         end
  70.     end
  71.     rr = ""
  72.     for i in r
  73.         rr += i
  74.     end
  75.     return rr
  76. end
  77.  
  78. puts rant
Add Comment
Please, Sign In to add comment