जवाब आपके ऊपर आउटपुट


15

एक प्रोग्राम लिखें जो <code>...</code>इस प्रश्न के उत्तर के पहले HTML ब्लॉक की सामग्री को आउटपुट करता है जो आपके द्वारा वोटों के छांटे जाने पर आपके ठीक ऊपर होता है। आउटपुट Top!यदि आप शीर्ष उत्तर हैं।

उन उत्तरों को अनदेखा करें जिनमें नकारात्मक वोट हैं या कोई <code>...</code>टैग नहीं है । आपके कार्यक्रम का स्रोत <code>...</code>आपकी पोस्ट में पहले ब्लॉक में दिखाई देना चाहिए । जब आप use backticksया ये ब्लॉक अपने आप बन जाते हैं

indent things with 4 spaces.

यह कोड-गोल्फ है, सबसे कम वर्णों वाला उत्तर जीतता है।

अतिरिक्त नियम (अद्यतन)

  • किसी भी प्रोग्रामिंग भाषा में उत्तर दें जो आप चाहते हैं लेकिन यदि आप कई बार उत्तर देते हैं तो विभिन्न भाषाओं का उपयोग करें।
  • आप अपने आउटपुट को हार्ड कोड नहीं कर सकते। आपके कार्यक्रम को सही ढंग से चलाने की क्षमता यह मतगणना या ऊपर दिए गए उत्तर पर निर्भर नहीं होनी चाहिए। यदि वोट वितरण में भारी बदलाव आया है, तो आपके कार्यक्रम को अभी भी इसके उत्तर के कोड को सही ढंग से आउटपुट करना चाहिए।
  • आप अपने उत्तर को खोजने के लिए अपने प्रोग्राम को हार्ड कोड कर सकते हैं (ताकि अगली उत्तर को खोजने के लिए) अपने उत्तर की कुछ विशिष्ट संपत्ति, जैसे कि आपका उपयोगकर्ता नाम (यदि आपके पास केवल एक उत्तर है) या उत्तर का सीधा लिंक है।
  • यदि दो उत्तरों के बराबर वोट हैं, तो आपको अभी भी आपके ऊपर एक का उपयोग करना चाहिए (जो मुझे लगता है कि सबसे नया होगा)।
  • <code>...</code>आपके उत्तर में कई ब्लॉक हो सकते हैं लेकिन पहले आपके प्रोग्राम का स्रोत होना चाहिए।

1
क्या मुझे कई पृष्ठों का हिसाब देना होगा?
Οसथ जूल

1
हाँ, आपको कई पृष्ठों
कैल्विन के

4
ध्यान दें कि inline code spansबस हैं <code></code>, लेकिन उचित कोड ब्लॉक हैं <pre><code>stuff</code></pre>
दरवाज़े

3
@ केल्विन के शौकीन मुझे लगता है कि बंधे हुए उत्तर का आदेश (वोट से) यादृच्छिक है। कम से कम एसओ पर, मुझे यहां के बारे में नहीं पता।
मार्टिन एंडर

4
मेरा तर्क है कि कई पृष्ठों की देखभाल अनावश्यक है - यदि आप पहले पृष्ठ पर नहीं हैं, तो आप वैसे भी जीत नहीं रहे हैं :)
lrn

जवाबों:


5

जावास्क्रिप्ट + jQuery (92 86 64 चार)

परीक्षण करने के लिए, इस पृष्ठ (आमतौर पर F12) पर देव उपकरण खोलें , और अपना कोड चलाएं!

इस जावास्क्रिप्ट को इस पृष्ठ (और केवल इस पृष्ठ) से कंसोल का उपयोग करके चलाने की आवश्यकता है।

alert($("code",$("#answer-34767").prev().prev()).html()||"Top!")

इतना छोटा, इसे स्क्रॉलबार की भी जरूरत नहीं है!

मूल रूप से, यह आईडी द्वारा मेरा उत्तर पाता है, और फिर दो नोड आगे निकलता है (लंगर लिंक को छोड़ते हुए)। यदि वह मौजूद नहीं है, तो मुझे शीर्ष पर होना चाहिए। फिर यह पहले codeतत्व को खोदता है और इसे प्राप्त करता है.innerHTML

अच्छी बात यह है कि एसई डिफ़ॉल्ट रूप से jQuery का उपयोग करता है, इसलिए मुझे वह लाभ बिना कोशिश के भी मिलता है।


2
मैं व्यक्तिगत रूप से आपके उत्तर को पसंद नहीं करता क्योंकि यह धोखा देने जैसा है ... वैसे भी, यह उतना ही छोटा हो सकता है alert($("code",$("#answer-34767").prev().prev()).html()||"Top!")
कोर 1024

@ core1024: सुधार के लिए धन्यवाद! मैंने इसे एक-कथन करने के बारे में नहीं सोचा था। मैं सहमत हूं कि मुझे बहुत बड़ा फायदा है। शायद मुझे फ़ायरफ़ॉक्स का कोड> 78MB के लिए गिनना होगा? नियम कहते हैं "किसी भी प्रोग्रामिंग भाषा में उत्तर दें जो आप चाहते हैं"।
बजे रोबी विन्सेज़

आपको फ़ायरफ़ॉक्स के कोड को गिनने की आवश्यकता नहीं है :) आपका लाभ वर्तमान परिवेश में है न कि दुभाषिया में। यह ऐसा है जैसे हर किसी के पास पृष्ठ का स्रोत पहले से ही "ऑब्जेक्ट" / "चर" में लोड है। शोषण के लिए +1;)
कोर 1024

4
यदि यह दूसरे पृष्ठ के शीर्ष पर है, तो यह "टॉप" अलर्ट करने वाला है, क्या यह सही व्यवहार है?
विलियम बारबोसा

@WilliamBarbosa: मैं उस एक पर "lrn" के साथ हूं। (ओपी के सवाल पर उनकी टिप्पणी देखें)।
रोबी विंसीज

6

PHP 666 611 593 588 580 वर्ण

संपादित करें: ट्यूरेल से पहले की तुलना में भी छोटा यूआरएल प्रयोग किया जाता है।

संपादित करें: अन्य उत्तर पर टिप्पणी के बाद मैंने बूलियन के बजाय इंट का उपयोग किया। इसके अलावा एक त्रुटि को सुधारने की आवश्यकता है जो स्पष्ट हो गई है लेकिन अब तय हो गई है।

यहाँ मेरा कोड है

<?
$a=34727;$b=new DOMDocument();$b->loadHTMLFile("http://turl.no/t2u");$c=$b->saveHTML();$d=$e=1;$f='data-answerid="';$g=strpos($c,$f);$h=substr($c,0,$g);$c=substr($c,($g+15));while($d==1){$g=strpos($c,'"');$i=substr($c,0,$g);if($i==$a){$j=$h;$k=$e;}$g=strpos($c,'vote-count-post ">');$c=substr($c,($g+18));$g=strpos($c,'<');$l=substr($c,0,$g);$g=strpos($c,'data-answerid="');if($g){++$e;++$e;$h=substr($c,0,$g);$c=substr($c,($g+15));}else{$d=2;}}if($k==1){echo 'Top!';}else{$g=strpos($j,'><code>');$m=strpos($j,'</code></pre>');$n=$m-$g-7;$o=substr($j,($g+7),$n);echo nl2br($o);}

मुझे यकीन है कि यह DOMXPath और नोड्स का उपयोग करके सुधार किया जा सकता है। हालांकि इससे मैं काफी खुश हूं। मैं यह तय नहीं कर पाया कि मेरे मामले में क्या करना है, केवल एक ही उत्तर है, लेकिन इसके साथ बहुत ध्यान नहीं दिया गया। हालांकि एक और जवाब पोस्ट किया गया था इसलिए कोई समस्या नहीं है।

मैंने बहुत सारे पात्रों को सहेजते हुए, url को छोटा करने के लिए टिनील का उपयोग किया।

मुझे आशा है कि आप इसे पसंद करते हो,

पॉल।

PS यह कोडपैड में नहीं चलेगा इसलिए एक बेला नहीं दिखा सकता है।

संपादित करें: php टैग के साथ 5 और सहेजे जा रहे हैं

आप यह काम कर रहा देख सकते हैं यहाँ एक डोमेन मैं वर्तमान में उपयोग नहीं करते हैं (ताकि हूँ सिर्फ एक डरपोक लिंक कोशिश नहीं) पर। यह एक स्थायी लिंक नहीं है, लेकिन वर्तमान में उपलब्ध है।


आप इसे और भी छोटे urlshortener =) का उपयोग करके और भी छोटा कर सकते हैं उदाहरण के लिए /.ws / .v
त्रुटी

मैंने इसे smallarrows.com लिंक के साथ आज़माया, लेकिन सर्वर से कई बार कनेक्ट करने में देरी हुई। वे वास्तव में छोटे से मूत्रल हैं।
पॉल ड्रूयट

1
इस साइट पर, यह एक छोटे से खुलने वाले टैग का उपयोग करने के लिए स्वीकार्य है (मेरा मानना ​​है कि यह <?इसके बजाय है <?php) और समापन टैग को छोड़ दें। कि तुम कुछ और आकर्षण छोड़ देना चाहिए।
जस्टिन

1
turl.no कुछ बहुत छोटे लिंक बनाता है, और क्योंकि यह एक नॉर्वेजियन लिंक शॉर्टनर है, कुछ लोगों ने इसे अंतरराष्ट्रीय स्तर पर देखा है। यहां आपके लिए एक लिंक दिया गया है: turl.no/t2u एक ही पृष्ठ पर आपके smallurl.com लिंक के रूप में इंगित करता है, और 8 वर्ण बचाता है।
bilde2910

@ bilde2910 थैंक्यू, यह काम किया है और यह वास्तव में एक और बहुत छोटा यूआरएल है। बहुत सराहना की और Turl.ca दिलचस्प है। वह अपने .ca डोमेन से प्यार करता है वह :-)
पॉल ड्रूइट

4

डार्ट 412 403

import"dart:io";import"dart:convert";main(){new HttpClient().get("pi.vu",0,"BYga").then((v)=>v.close()).then((r)=>r.transform(UTF8.decoder).join()).then((s,[i,c="Top!"])=>new RegExp(r'<div id="answer-(\d+)[^]*?vote-count-post ">(\d+)[^]*?<table class="fw"').allMatches(s).forEach((m)=>m[1]=="34735"?print(c):m[2][0]!='-'&&(i=(s=m[0]).indexOf("<code>"))>0?c=s.substring(i+6,s.indexOf("</code>",i)):0));}

Ungolfed (अच्छी तरह से, newlines और प्रमुख व्हाट्सएप के साथ)

import"dart:io";
import"dart:convert";
main(){
  new HttpClient().get("pi.vu",0,"BYga")
  .then((v)=>v.close())
  .then((r)=>r.transform(UTF8.decoder).join())
  .then((s,[i,c="Top!"])=>
      new RegExp(r'<div id="answer-(\d+)[^]*?vote-count-post ">(\d+)[^]*?<table class="fw"')
      .allMatches(s)
      .forEach((m)=>
          m[1]=="34735"?print(c)
                       :m[2][0]!='-'&&(i=(s=m[0]).indexOf("<code>"))>0
                           ?c=s.substring(i+6,s.indexOf("</code>",i)):0
  ));
}

4

डेल्फी (688 873 859 848 840)

मैं अभी भी कुछ पात्रों को शेव करने की कोशिश करूंगा लेकिन यह काम करेगा :)

संपादित करें: इसे छोटा करने के बजाय मैंने इसे अधिक लंबा कर दिया: P जब
मैं नकारात्मक वोटकाउंट या कोई कोड ब्लॉक नहीं करता है, तो मैं उत्तर की अनदेखी में जोड़ना भूल गया।

मैं संपादन के दौरान अन-गोल्‍ड संस्करण को अपडेट कर रहा हूं।
सुझाए गए संपादन के लिए @manatwork का धन्यवाद जिसने 8 वर्णों को बंद कर दिया।

गोल्फ संस्करण:

uses IdHTTP,Classes,MSHTML;const u='http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718#34718';var g:TIdHTTP;m:TMemoryStream;l:TStringList;p,t,r,o:OleVariant;s,i,j:int32;c:boolean;begin L:=TStringList.Create;g:=TIdHTTP.Create(nil);m:=TMemoryStream.Create;g.Get(u,m);m.Position:=0;L.LoadFromStream(m);p:=coHTMLDocument.Create as IHTMLDocument2;p.write(l.Text);for I:=0to p.body.all.length-1do begin c:=0>1;t:=p.body.all.item(i);if(t.classname='answer')and(t.id='answer-34718')then if s=0 then writeln('Top!') else for j:=0to o.all.length-1do begin t:=o.all.item(j);if t.tagname='CODE'then writeln(t.innertext);end else if t.classname='answer'then begin for j:=0to t.all.length-1do begin r:=t.all.item(j);if r.tagname='CODE'then c:=1>0 else if c and(r.class='vote-count-post')and(r.innertext[1]<>'-')then begin o:=t;s:=1;end;end;end;end;end.

Ungolfed संस्करण:

uses
  IdHTTP,Classes,MSHTML;
const
  u='http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718';
  a='answer';b='CODE';
var
  g:TIdHTTP;
  m:TMemoryStream;
  l:TStrings;
  p,t,r,o,z:OleVariant;
  s,i,j:int32;
  c:byte;
begin
  L:=TStringList.Create;
  g:=TIdHTTP.Create(nil);
  m:=TMemoryStream.Create;
  g.Get(u,m);
  m.Position:=0;
  L.LoadFromStream(m);
  p:=coHTMLDocument.Create as IHTMLDocument2;
  p.write(l.Text);
  z:=p.body.all;
  for I:=0to z.length-1do
  begin
    c:=0;
    t:=z.item(i);
    if(t.classname=a)and(t.id='answer-34718')then
      if s=0 then
        write('Top!')
      else
        for j:=0to o.all.length-1do
        begin
          t:=o.all.item(j);
          if t.tagname=b then
            write(t.innertext)
        end
    else if t.classname=a then
      for j:=0to t.all.length-1do
      begin
        r:=t.all.item(j);
        if r.tagname=b then
          c:=1
        else if(c=1)and(r.class='vote-count-post')and(r.innertext[1]<>'-')then
        begin
          o:=t;
          s:=1;
        end;
      end;
  end;
end.

http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718#34718को बदला जा सकता है http://codegolf.stackexchange.com/q/34718, जो काफी पात्रों को बचाएगा।
दरवाज़े

धन्यवाद, दुख की बात यह है कि मुझे भी कुछ जोड़ना पड़ा क्योंकि मैं उस हिस्से को भूल गया था जहाँ आपको नकारात्मक वोटकाउंट या कोई कोड ब्लॉक के साथ उत्तरों को नजरअंदाज करना पड़ता है: / .. काम नहीं करता है :( मुझे एक 301 स्थायी रूप से स्थानांतरित हो गया
Teun Pronk

जैसा कि पहले सुझाव दिया गया है , आप TStringsइसके बजाय एल की घोषणा कर सकते हैं । (लेकिन तात्कालिकता को बनाए रखें TStringList।)
मैनेटवर्क

मैं byteइसके बजाय सी बनाने की कोशिश करूंगा boolean
मैनेटवर्क

3

अजगर - 280

import os, sys, cgi
os.system('wget http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours.html -q -O a')
b=[ x[:-2] for x in open('a').read().split('code>') if x[-1]=='/']
for i, m in enumerate(b):
    if m == cgi.escape(open(sys.argv[0]).read()):
        print b[i-1]

यह मेरा पहला कोडगोल्फ है, इसलिए मुझे उम्मीद है कि यह गोल्फ-वाई पर्याप्त है!

संपादित करें: सुझावों के लिए धन्यवाद! यह अब थोड़ा गोल्फर लग रहा है।


पहली कोशिश के लिए बुरा नहीं लगता है! आप लिंक के लिए एक URL shortener इस्तेमाल कर सकते हैं और वहाँ (में कुछ रिक्त स्थान से छुटकारा पाने हालांकि for i,m, m==open, आदि)।
क्रिस्टोफ बोहमवल्डर

@HackerCow मुझे लगता है कि URL शॉर्टर्स आम तौर पर चालू होते हैं, लेकिन http://codegolf.stackexchange.com/q/34705/14509निश्चित रूप से काम करेंगे।
अंडरग्राउंडोरेल

@KidElephant मैंने आपके कोड से व्हॉट्सएप का एक गुच्छा हटा दिया। मैंने इसे या किसी भी चीज का परीक्षण नहीं किया, लेकिन जब तक मैंने इसे खराब नहीं किया, तब तक इसे (तार्किक रूप से) एक ही कार्यक्रम होना चाहिए। ध्यान दें कि मैंने शेबंग को हटा दिया है, यहाँ उन की आवश्यकता नहीं है। ix.io/dsz व्हॉट्सएप को बाहर ले जाना काफी कुछ बाइट्स बचा सकता है :)
अंडरग्राउंडोरेल

इसके अलावा, कोड गोल्फ चुनौतियों के लिए आपको एक बाइट गिनती शामिल करना चाहिए। मैं यहां आपके लिए एक संपादित करूंगा, लेकिन यदि आप किसी भी सुझाव का उपयोग करते हैं तो मैं आपको परेशान नहीं करूंगा। आप बाइट काउंट को दौड़ कर पा सकते हैं wc -c $filename। यदि आपका संपादक फ़ाइलों के लिए अनुगामी न्यूलाइन भेजता है (यह संभवतः करता है) तो आप अपना अंतिम स्कोर प्राप्त करने के लिए उसमें से एक घटा सकते हैं।
भूमिगत

2

गणितज्ञ - १५ ९

पहली बार गणितज्ञ में पार्सिंग करते हुए

FirstCase[
 Cases[Import["http://bit.do/JGta1","XMLObject"],
 {__,a_,_,_,_,XMLElement[_, {_, "id""answer-34780",__},_],__}a,∞], 
 XMLElement["code",_,{c_}]c,"Top!",∞]

2

रूबी 283 + 17 = 300

यह इस बात की परवाह किए बिना सफल हो जाता है कि यह उत्तर कितने वोटों को प्राप्त करता है और इससे कोई फर्क नहीं पड़ता कि उत्तर का दूसरा (या पंद्रहवां) पेज है या नहीं। यह डेटा एपीआई का उपयोग करता है।

d=34849
JSON.parse(Net::HTTP.get(URI("http://api.stackexchange.com/2.2/questions/34705/answers?site=codegolf&filter=8G3Ng9T*")))['items'].map{|a|abort$1.gsub(/&.+?;/){|g|g[?a]??&:g[?g]??>:?<}if !d&&a['score']>=0&&/<code>(.*?)<\/code>/m=~a['body']
d=p if a['answer_id']==d}
$><<'Top!'

साथ चलना चाहिए ruby -rnet/http -rjson(इसलिए +17)

ungolfed:

d = 34849 # this answer id
i = JSON.parse(Net::HTTP.get(URI("http://api.stackexchange.com/2.2/questions/34705/answers?site=codegolf&filter=8G3Ng9T*")))['items'] # stackexchange api answers for this question
i.map{ |a|
  # if we've already hit this answer, the score's above 0 and there's code...
  if !d && a['score']>=0 && /<code>(.*?)<\/code>/m=~a['body'] then
    # abort with html-unescaped code
    abort $1.gsub(/&.+?;/){ |g|
      # this turns &amp;, &gt; and &lt; into &, > and <, respectively
      g[?a] ? ?& : g[?g] ? ?> : ?<       
    }
  end
  # if we are at our answer, set d = nil
  if a['answer_id']==d then 
    d = p 
  end
}
# no abort. puts 'Top!'
$><<'Top!'

बदलाव का

प्रतीक रेगेक्स में 300 हटाए गए Parens

302 प्रारंभिक प्रतिबद्ध


आप असुरक्षित अपने फ़िल्टर बनाकर कुछ बाइट्स बचा सकता है
pppery

@ppperry कृपया समझाएं?
नहीं है कि

असुरक्षित फ़िल्टर का उपयोग करने का मतलब है कि आपको मैन्युअल रूप से HTML unescape करना होगा। देखें फिल्टर डॉक्स
pppery

1

PHP 135

<?
preg_match_all('@(\d+?)"></a.*de>(.*)</c@Us',join('
',file('http://pi.vu/BYga')),$m);echo$m[2][array_search(34786,$m[1])-1]?:'Top!';

संपादित करें: lrn का URL शॉर्टनर सबसे छोटा URL बनाता है :)

RegEx प्रत्येक उत्तर (उत्तर आईडी के साथ) और पहले <code>टैग के अंदर की सामग्री से पहले लंगर से मेल खाता है । Uझंडा चलाता है Ungreedy मोड और sझंडा मेकअप. नई लाइनों (बहुत मुट्ठी) से मेल खाता है। मुझे चिंता नहीं है अगर यह उत्तर कुछ और मिलता है क्योंकि उत्तर बच जाते हैं, इसलिए कोई भी <पृष्ठ के स्रोत में शाब्दिक सम्मिलित नहीं कर सकता है ।

जब मुझे इसमें सभी उत्तर $m[2]और उनकी आईडी मिल जाती है $m[1], तो मैं इसका उपयोग करता हूंecho लेता उत्तर को मेरे ऊपर प्रिंट लिए , जैसा कि यह अंदर है$m[2][array_search(34786,$m[1])-1] , या "टॉप!", यदि मेरा उत्तर अंततः पहले हो जाता है :)।

मुझे यह तथ्य पसंद है कि PHP में ternary ऑपरेटर को शॉर्ट-सर्किट ऑपरेटर के रूप में इस्तेमाल किया जा सकता है ?:


बहुत शानदार है। मैंने अभी इसका परीक्षण किया है लेकिन यह नीचे दिए गए कोड को दिखा रहा है। मुझे यकीन है कि यह एक त्वरित सुधार होगा लेकिन मुझे लगा कि मैं इसका उल्लेख करूंगा। कमाल की नौकरी हालांकि, PHP में 135, मैं अभी भी काफी विश्वास नहीं कर सकता ...
पॉल ड्रूइट

1
@PaDDrewett जब आप निजी ब्राउज़िंग में इस पृष्ठ को खोलते हैं तो कृपया उस क्रम को देखें। जब आप लॉग इन हों तो यह ऑर्डर से अलग है।
कोर 1024

ओह, यह आश्चर्यजनक है। मुझे आश्चर्य है क्योंकि? त्रुटि में त्रुटि को इंगित करने के लिए क्षमा करें। मेरी गलती। मैंने आपको एक उपयोगी उत्तर के रूप में उतारा। मुझे अब भी लगता है कि यह आश्चर्यजनक है ...
पॉल ड्रूइट

1

डेल्फी, 461 बाइट्स , 553 बाइट्स

अब कई पेज भी संभालता है!

golfed:

uses IdHTTP,RegularExpressions;var T,S,O:String;K,V,C:Int32;begin repeat Inc(C);Str(C,S);S:=TIdHTTP.Create.Get('http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours?page='+S);T:=T+S;until Pos('<span class="page-numbers next',S)=0;O:='Top!';for T in TRegEx.Split(T,'<a name="') do begin S:=T;Val(Copy(S,1,Pos('"',S)-1),K,C);if C=1then Continue;Delete(S,1,Pos('post ">',S)+6);Val(Copy(S,1,Pos('<',S)-1),V,C);C:=Pos('<code>',S);if(C=0)or(V<0)then Continue;if K=34844then Break;O:=Copy(S,C+6,Pos('</code>',S)-C-6);end;Write(O)end.

(थोड़ा) अपंग:

uses
  IdHTTP,RegularExpressions;
var
  T,S,O:String;
  K,V,C:Int32;
begin
  // download all pages in thread and concat them
  repeat
    Inc(C);
    Str(C,S);
    S:=TIdHTTP.Create.Get('http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours?page='+S);
    T:=T+S;
  until Pos('<span class="page-numbers next',S)=0;
  O:='Top!'; // initialize code string to 'Top!'
  for T in TRegEx.Split(T,'<a name="') do begin
    S:=T;
    Val(Copy(S,1,Pos('"',S)-1),K,C); // try to extract user id
    if C=1then Continue; // if failed, continue loop
    Delete(S,1,Pos('post ">',S)+6); // prepare S for next parse
    Val(Copy(S,1,Pos('<',S)-1),V,C); // try to extract vote count
    C:=Pos('<code>',S); // check if <code> tag exists
    if(C=0)or(V<0)then Continue; // make sure vote count is positive and <code> tag exists
    if K=34844then Break; // if its our answer, break the loop
    O:=Copy(S,C+6,Pos('</code>',S)-C-6); // get string in <code> tag
  end;
  Write(O); // write <code> string
end.

कैसे चलाएं:

app.exe > output.txt

अच्छा है, यह भी html इकाइयों का उपयोग करने के बजाय किया जा सकता है .. शर्म की बात है कि मैं नहीं सोचा था: पी
Teun Pronk

धन्यवाद। साथ ही, (यदि केवल नहीं) कोडों में से एक, जो कई पृष्ठों को भी संभालता है।
मार्को पूनोविक

1

PHP - 412 - 422 - 416 - 252 - 248:

अभी भी एक कार्य प्रगति पर है, मैंने कई पृष्ठों के संबंध में कुछ भी नहीं किया है (न ही किसी और ने?)

मुझे बहुत सारे अतिरिक्त डोम काटकर 200 कैरेक्टर की ड्रॉप मिली है, जब मैं सिर्फ अपनी स्थिति का पता लगा सकता हूं, तो वस्तुओं की तलाश क्यों करें?

यह मेरा पहला कोड गोल्फ भी है! मुझे 200 के दशक में और डोम के तरीकों का उपयोग करके खुशी हुई। टिप्पणियों के लिए धन्यवाद, मैंने अभी 4 और पात्रों का मुंडन किया है।

मैं डोम को ट्रेस करने के संबंध में jquery / jscript जैसा कुछ करना चाहता था, और अभी भी इसको कम करने पर काम कर रहा हूं। शायद मैं अपने उपयोगकर्ता नाम के रूप में "एएसआई" की खोज कर सकता हूं?

गोल्फ:

<? $d=new DOMDocument;$d->loadHTMLFile("http://bit.do/JGta");$x=new DOMXPath($d);$r=$x->query("//*[@class='answer']");$a=-1;while($f=$r->item(++$a))if(strpos($f->nodeValue,"Asitaka"))echo$x->query(".//pre//code",$r->item($a-1))->item(0)->nodeValue;

प्रारूपित:

    <?php
$d = new DOMDocument();
$d->loadHTMLFile("http://bit.do/JGta");
$x = new DOMXPath($d);
$r = $x->query("//*[@class='answer']");
$a = -1;
while($f = $r->item(++$a))
        if ( stripos($f->nodeValue, "Asitaka")!= 0)
            echo $x->query(".//pre//code",$r->item($a-1))->item(0)->nodeValue;
?>

चियर्स


पीएचपी में कोष्ठक new DOMDocument()और समापन ?>को छोड़ा जा सकता है।
jimmy23013

धन्यवाद, 4 और पात्रों को खो दिया। फिलहाल, मैं कल्पना नहीं कर सकता कि जब तक मैं विभिन्न वर्गों का उपयोग नहीं करता, तब तक इसे छोटा कैसे बनाया जा सकता है, डोम एक्सेसर्स महंगे हैं।
असितक

अपना उपयोगकर्ता नाम बदलकर वर्ण सहेजें!
डेविड जूल

मुझे लगता है कि यह अच्छा है। मैं सिर्फ DOMXPath के क्वेरी भाग को सीखने की कोशिश कर रहा हूं, लेकिन मुझे यह स्वीकार करना चाहिए कि मुझे यह कठिन लग रहा है। मैंने इसके लिए कोशिश की, लेकिन यह पूरी तरह से नहीं मिल सका। मैंने तुम्हारा परीक्षण किया है, लेकिन ऐसा लगता है कि इसके ऊपर के एक दो की रिपोर्ट कर रहे हैं, सीधे ऊपर की नहीं। मुझे यकीन है कि यह एक त्वरित सुधार है लेकिन मैंने सोचा था कि मैं इसका उल्लेख करूंगा।
पॉल ड्रूएट

इस जानकारी के बाद "कृपया उस आदेश को देखें जब आप इस पृष्ठ को निजी ब्राउज़िंग में खोलते हैं। यह उस क्रम से भिन्न होता है जब आप लॉग इन होते हैं - core1024" विभिन्न उत्तर टिप्पणी से मुझे लगता है कि यहाँ भी वही हो रहा है। उसके लिए खेद है।
पॉल ड्रूइट

1

पायथन 3, 197 191 बाइट्स

import urllib.request as u,gzip,json;p='Top!'
for r in json.loads(gzip.decompress(u.urlopen("http://bit.ly/2hN8TKV").read()).decode())["items"]:
 if r['answer_id']==82837:exit(p)
 p=r['body']

नियम यह नहीं कहते कि मैं एपीआई का उपयोग नहीं कर सकता और मैं एक यूआरएल शोर्टनर का उपयोग नहीं कर सकता।

https://tinyurl.com/hdemk76https://api.stackexchange.com/2.2/questions/34705/answers?order=desc&sort=votes&site=codegolf&filter=withbody&pagesize=100 इसका विस्तार केवल तभी होता है जब यह वोटों द्वारा छांटे गए शीर्ष 100 उत्तरों में हो।


-6 यदि आप के https://tinyurl.com/hdemk76साथ प्रतिस्थापित करते हैंhttp://bit.ly/2hN8TKV
टेलर स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.