أنا جديد على Stack overflow ، لذا يرجى التفضل إذا انحرف سؤالي عن المستوى المتوقع.
لقد قمت بمعالجة ملف سجل بتنسيق أدناه وأرغب في تكوين تمثيل HTML من بنية البيانات أدناه.
holder = [
{:states=>"Texas"}
{:cities=>"Antonio", :data=>{"Ron"=>"26", "Rock"=>"23", "Jake"=>"33"}}
{:cities=>"West_CIT", :data=>{}}
{:cities=>"Austin", :data=>{"Ron"=>"26", "Mike"=>"53", "Jake"=>"36"}}
{:states=>"California"}
{:cities=>"Sacramento", :data=>{"Jill"=>"584", "Rudy"=>"3"}}
{:cities=>"Los Angeles", :data=>{"Jill"=>"4", "Rudy"=>"2"}}
{:states=>"Georgia"}
{:cities=>"Atlanta", :data=>{"Ron"=>"6", "Ross"=>"2", "Jake"=>"35"}}
{:cities=>"Athens", :data=>{"Jill"=>"16", "Mike"=>"4", "Reeves"=>"8"}} ]
أحاول إنشاء ملف HTML يعرض الولايات فقط في الصفحة العلوية ، كما هو موضح أدناه
<h1> States and Associate Demat details <h1>
Texas
California
Georgia
ولكن عند النقر فوق أي دولة ، يجب توسيعها إلى الشكل أدناه الذي يحتوي على التفاصيل الفرعية
Texas
Antonio Ron 26
Rock 23
Jake 33
West_CIT
Austin Ron 26
Mike 53
Jake 36
California
Georgia
Likewise the other states.
لقد ذهبت من خلال وثائق روبي بالإضافة إلى جوهرة نوكوجيري ولكن بمعرفي المحدود في الياقوت (أو أي لغة برمجة) يعيق تقدمي .. هل هذا ممكن حقًا مع روبي أم يجب أن أذهب مع PHP (تعلم مرة أخرى). أبحث عن التوجيه هنا ، شكرا لك.
PS لقد اتخذت هذا كمهمة ذاتية في محاولة لتحسين روبي (أو مهارات البرمجة)
ما كتبته:
holder = []
counter = -1
text = File.open("states.log").read
text.each_line do |line|
line.strip!
next if line.empty?
next if line.include?('persons') || line.include?('demat')
next if ['-','*'].include? line[0]
chip = line.split ' '
if chip.size == 1 and line.start_with?('state')
holder[counter += 1] = {states: line, data: {}}
next
elsif chip.size == 1 and chip = /^(?!.*state_).*$/
holder[counter += 1] = {cities: line, data: {}}
next
end
chip.each_cons(2) do |key, value|
holder[counter][:data][key] = value
end
end
puts holder
إضافة ملف سجل عينة (الخام)
state_Texas
Antonio
persons demat
------------------------------ ----------
Ron 26
Ron 23
Jake 33
=========================================
----Persons
West_CIT
persons demat
------------------------------ ----------
=========================================
----Persons
Austin
persons demat
------------------------------ ----------
Ron 26
Mike 53
Jake 36
=========================================
state_California
Sacramento
persons demat
------------------------------ ----------
Jill 584
Rudy 3
=========================================
---- Persons
Los Angeles
persons demat
------------------------------ ----------
Jill 4
Rudy 2
=========================================
Likewise .......