2017. október 14., szombat

csere.rb

A minap belekezdtem egy újabb kezdőknek szóló Ruby tananyag olvasásába, melyet németek írtak angolul, szóval mentes minden anglicizmustól. Értelmesnek tűnt és szerettem volna utazás közben is olvasgatni ezért letöltöttem html-ben – ugyan pdf formátumra utalva, de ezt ők is ajánlották: http://ruby-for-beginners.rubymonstas.org/print.html
Nyilván egy html sokkal jobban olvasható telefonon, szóval a pdf nem érdekelt.
Node... a linkek a weblapban hibásak voltak, a dokumentum abszolút webes hivatkozásokat tartalmazott, belsők helyett. Na mondom, ezt valahogy ki kellene javítani. Először elkezdtem dolgoztatni a ctrl+H -t, de az hamar elvérzett. És ekkor született meg a zseniális ötlet, hogy mindezt rubyval kellene megoldani. Elhessegettem a gondolatot, hogy ez így róka fogta csuka, hiszen amíg nem olvasom ki a könyvet, addig nem tudom megoldani ezt a feladatot és ez nagyjából fordítva is igaz. De olvastam én már a gsub -ról, úgyhogy belevágtam. Kellett hozzá guglizni, de végül is sikerült és megérte. Működik és iszonyúan gyorsan lefut. Ha valaki hozzáértő tud ezen fejleszteni (biztosan tud), akkor szívesen veszem az építő hozzászólásokat. Ráadásul azt hiszem, csodaszámba menne, ha a weben magyarul lehetne eszmét cserélni a témában.
(Azt nem állítom, hogy tökéletes, de a címek és a hivatkozások elnevezései közti eltéréseket már nem volt kedvem kigyomlálni, így aztán persze nem minden link valós)

Lássuk:

 #Egy lementett html fileban kell kicserélni az abszolút (webes) hivatkozásokat relatív (dokumentumon belüli)-ekre  
 #A '#' manuálisan be lett már szúrva, a '.html' és a '_' kiszedve, a többit kellett cserélni  
   
   
 # 0. csere   
 # href="/exercises_2/strings.html" --> href="#exercises_2/strings"  
   
 filepath='C:\Users\kkurtisz\Desktop\RFB.html'  
 text = File.read(filepath)  
 replace = text.gsub(/(href=\")(\/)(\w+\/*\w*)*(\.html)/, "#{$1}##{$3}")  
 replace2 = text.gsub('.html">', '">')  
 File.open(filepath, "r+") do |f|   
   f.write(replace)  
   f.write(replace2)  
 end  
   
   
 #1. csere  
   
   
 # <h1>Scopes</h1> --> <h1>Scopes</h1>  
   
   
 filepath='/home/vombat/Ruby_for_Beginners.html'  
 text = File.read(filepath)  
 replace = text.gsub(/<h1>(\w+\s*\w+\s*)+/) { "<h1>#{$1}<a name=\"#{$&.downcase}\"></a>" }  
 File.open(filepath, "r+") do |f|   
   f.write(replace)  
 end  
    
   
 #2. csere  
   
   
 filepath='/home/vombat/Ruby_for_Beginners.html'  
 text = File.read(filepath)  
 replace = text.gsub('<a name="<h1>', '<a name="')  
 File.open(filepath, "r+") do |f|   
   f.write(replace)  
 end  
   
 #3. csere  
   
 #"#learning to program/learning modes">  
   
   
 filepath='/home/vombat/Ruby_for_Beginners.html'  
 text = File.read(filepath)  
 replace = text.gsub(/\"#(\w+\s*\w+\s*)+\/(\w+\s*\w+\s*)+\">/) { "\"#{$2}\">" }  
 File.open(filepath, "r+") do |f|   
   f.write(replace)  
 end  
   
   
 #4. csere  
 #href="#learning to program => href="#learning_to_program  
   
 filepath='/home/vombat/Ruby_for_Beginners.html'  
 text = File.read(filepath)  
 replace = text.gsub(href=/\"#(\w+\s*\w*\s*)+/) do |match|  
   match.gsub(" ", "_")  
   end  
 File.open(filepath, "r+") do |f|   
   f.write(replace)  
 end  
   
 #5. csere :)  
 #a name="#learning to program  
   
 filepath='/home/vombat/Ruby_for_Beginners.html'  
 text = File.read(filepath)  
 replace = text.gsub(name=/\"(\w+\s*\w*\s*)+/) do |match|  
   match.gsub(" ", "_")  
   end  
 File.open(filepath, "r+") do |f|   
   f.write(replace)  
 end  
 =end  
   

2017. szeptember 10., vasárnap

Észrevettem

Hogy a 4-es metrót mindig egy kisfiú vezeti.

2016. október 15., szombat

elfogadtam