| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
cmabrigde - rubyrane 21.06.06 12:05 tällänen turhake String luokkaan, tällä kertaa kommenteilla ;)
# cmabrigde.rb - rane 21.6.2006
# ---
# http://www.mrc-cbu.cam.ac.uk/~mattd/Cmabrigde/
# Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy,
# it deosn't mttaer in waht oredr the ltteers in a wrod are,
# the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae.
# The rset can be a toatl mses and you can sitll raed it wouthit porbelm.
# Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef,
# but the wrod as a wlohe.
class String
def cmabrigde
output_arr = Array.new
input_arr = self.split(' ') # "According to a researcher ... " -> ["According", "to", "a", "researcher", ... ]
input_arr.each do |word|
original = word.split(//) # original => ["A", "c", "c", "o", "r", "d", "i", "n", "g"]
scrambled = []
scrambled.push(original.shift) # scrambled => ["A"]
(0..original.length-2).each do # we want amount of the elements in the array WITHOUT the last letter which will remain in it's place
scrambled.push(original.delete_at(rand(original.length-2))) # push-delete random element from original array to the scrambled one
end
scrambled.push(original[0]) # original => ["g"] - only g left, as expected
output_arr.push(scrambled.join) # output_arr => ["Adcricong", .. ] | scrambled => ["A", "d", "c", "r", "i", "c", "o", "n", "g"]
end
output_arr.join(" ") # returns the scrambled string - output_arr => ["Adcricong", "to", "a", "rrsecaheer", .. ]
end
end
str = "According to a researcher at Cambridge University"
str.cmabrigde # => "Adcricong to a rrsecaheer at Cimbdarge Usriievnty"T.M. 12:19 21.6.06 Voisit edes keksiä kuvaavampia nimiä, ei noista saa mitään käsitystä mitä se koodi tekee. editoitu: 13:13 21.6.06 rane 12:58 21.6.06 lue kommentit :/ edit: jos tarkoitat skriptan nimeä, niin keksi jumalauta itse parempi nimi tuolle. missä määrin koodipätkän nimi on edes olennainen? niinpä, ei missään. Ceez 13:16 21.6.06 Vaikeeta vois kyllä kovin kuvaavia (ja lyhyitä) nimiä kehitellä tällasille. T.M. 14:15 21.6.06 Tarkoitin lähinnä noita edellisiä koodinpätkiäsi, ja kyllä nimi pitää kuvaava olla, muuten on turhaa tänne laittaa jos niitä ei voi edes löytää oikeilla nimillä. Itse en saanut mitään käsitystä mitä tämä koodi tekee kun luin kuvauksen, kommenteista voisin päätellä että se sotkee tekstiä? "cmabridge" ei kerro yhtään mitään minulle. "tekstin sotkija" kertoo jo enemmän. litra 14:37 21.6.06 aika jännää. itse suunnittelin tekeväni samaisen skriptin ruby-harkkana. Ceez 15:06 21.6.06 Kyllähän se melko selkeesti tulee esille että koodi muuntaa sanan kirjainten järjestyksen säilyttäen ensimmäisen ja viimeisen kirjaimen paikan. tsuriga 18:51 25.6.06 Sais se tulla selville nimestä, tai edes selostuksesta. rane 04:18 27.6.06 joo, aivojen käyttö on nykyään yliarvostettua editoitu: 12:35 28.6.06 tsuriga 11:23 28.6.06 Joo, sehä se vasta järkevää onki ku pistetää kaikki sekaviin paketteihin ja pitää kahtoa pakkausten sisälle, että tietää, mikä tuote on kyseessä. |
![]() Haku
|