উত্তর উপরে আপনার আউটপুট


15

এমন একটি প্রোগ্রাম লিখুন যা <code>...</code>ভোটের মাধ্যমে উত্তরগুলি সাজানো হলে এই প্রশ্নের উত্তরের প্রথম এইচটিএমএল ব্লকের সামগ্রীর আউটপুট দেয় যা আপনার ঠিক উপরে রয়েছে। Top!আপনি যদি শীর্ষের উত্তর হন তবে আউটপুট ।

নেতিবাচক ভোট রয়েছে বা এমন কোনও উত্তর নেই এমন উত্তরগুলি উপেক্ষা করুন <code>...</code>। আপনার প্রোগ্রামের উত্স অবশ্যই <code>...</code>আপনার পোস্টের প্রথম ব্লকে উপস্থিত হবে । আপনি use backticksবা যখন এই ব্লকগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়

indent things with 4 spaces.

এটি কোড-গল্ফ, সবচেয়ে কম অক্ষরের সাথে উত্তর জিতল।

অতিরিক্ত বিধি (আপডেট)

  • আপনি যে কোনও প্রোগ্রামিং ভাষায় উত্তর চান তবে আপনি একাধিকবার উত্তর দিলে বিভিন্ন ভাষা ব্যবহার করুন।
  • আপনি আপনার আউটপুট হার্ড কোড নাও করতে পারেন। আপনার প্রোগ্রামের সঠিকভাবে চালনার দক্ষতা এটির ভোট গণনার উপর নির্ভর করবে না বা উপরের উত্তরটি কী। যদি ভোট বিতরণ ব্যাপকভাবে পরিবর্তিত হয় তবে আপনার প্রোগ্রামটি এখনও তার উত্তরগুলির কোডটি সঠিকভাবে আউটপুট করা উচিত।
  • আপনি নিজের প্রোগ্রামটিকে নিজের পৃষ্ঠায় নিজের অনুসন্ধানের জন্য হার্ড কোড করতে পারেন (যাতে পরের সর্বোচ্চটি সন্ধান করুন) আপনার উত্তরের কিছু অনন্য সম্পত্তি যেমন আপনার ব্যবহারকারীর নাম (যদি আপনার কেবলমাত্র একটি উত্তর থাকে) বা উত্তরের প্রত্যক্ষ লিঙ্কের মাধ্যমে।
  • যদি দুটি উত্তরের সমান ভোট হয় তবে আপনার নিজের উপরের একটিটি এখনও ব্যবহার করা উচিত (যা আমি বিশ্বাস করি এটিই নতুনতম হবে) one
  • <code>...</code>আপনার উত্তরে আপনার একাধিক ব্লক থাকতে পারে তবে প্রথমটিতে অবশ্যই আপনার প্রোগ্রামের উত্স থাকতে হবে।

1
আমাকে কি একাধিক পৃষ্ঠার জন্য অ্যাকাউন্ট করতে হবে?
Οurous

1
হ্যাঁ আপনার একাধিক পৃষ্ঠাগুলির জন্য অ্যাকাউন্ট করা উচিত
ক্যালভিনের

4
নোটগুলি যে inline code spansঠিক <code></code>, তবে সঠিক কোড ব্লকগুলি <pre><code>stuff</code></pre>
ডুরকনব

3
@ ক্যালভিনের শখগুলি আমি মনে করি বাঁধা উত্তরের ক্রম (ভোটের মাধ্যমে) এলোমেলো। কমপক্ষে এসও তে, আমি এ সম্পর্কে জানি না।
মার্টিন ইন্ডার

4
আমি যুক্তি দিয়ে বলছি যে একাধিক পৃষ্ঠাগুলি যত্ন নেওয়া অপ্রয়োজনীয় - আপনি যদি প্রথম পৃষ্ঠায় না থাকেন তবে আপনি যেভাবেই
জিতবেন

উত্তর:


5

জাভাস্ক্রিপ্ট + jQuery (92 86 64 চর)

পরীক্ষা করতে, এই পৃষ্ঠায় ডিভাইস সরঞ্জাম খুলুন (সাধারণত এফ 12) এবং আমার কোডটি চালান!

এই জাভস্ক্রিপ্টটি এই পৃষ্ঠাটি (এবং কেবলমাত্র এই পৃষ্ঠাটি) থেকে কনসোল ব্যবহার করে চালানো দরকার।

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

এত সংক্ষিপ্ত, এটি এমনকি একটি স্ক্রোলবার প্রয়োজন হয় না!

মূলত, এটি আইডি দ্বারা আমার উত্তর সন্ধান করে এবং তারপরে দুটি নোড এগিয়ে যায় (অ্যাঙ্কর লিঙ্কটি এড়িয়ে যাওয়া)। যদি এটি বিদ্যমান না থাকে তবে আমার অবশ্যই শীর্ষে থাকা উচিত be তারপরে এটি প্রথম codeউপাদানটিতে নেমে যায় এবং তা পায় .innerHTML

দুর্দান্ত জিনিসটি হ'ল এসই ডিফল্টভাবে jQuery ব্যবহার করে, তাই আমি চেষ্টা করেও সেই সুবিধাটি পাই get


2
আপনার উত্তরটি আমি ব্যক্তিগতভাবে পছন্দ করি না কারণ এটি কিছুটা প্রতারণার মতো ... যাইহোক, এটি যতটা সংক্ষিপ্ত হতে পারে alert($("code",$("#answer-34767").prev().prev()).html()||"Top!")
কোর 1024

@ কোর 1024: উন্নতির জন্য ধন্যবাদ! আমি এটি এক-বিবৃতি করার কথা ভাবিনি। আমি একমত যে আমার একটি বিশাল সুবিধা আছে। হয়ত আমাকে> 78 এমবি এর জন্য ফায়ারফক্সের কোডটি গণনা করতে হবে? বিধিগুলিতে বলা হয়েছে "আপনি যে কোনও প্রোগ্রামিং ভাষায় উত্তর দিন"।
রবি ডাব্লিজিজে

আপনাকে ফায়ারফক্সের কোড গণনা করার দরকার নেই :) আপনার সুবিধাটি বর্তমান পরিবেশে এবং দোভাষীতে নয়। দেখে মনে হয় যে প্রত্যেকেরই ইতিমধ্যে "অবজেক্ট" / "ভেরিয়েবল" এ লোড হওয়া পৃষ্ঠার উত্স রয়েছে। শোষণের জন্য +1;)
কোর 1024

4
এটি দ্বিতীয় পৃষ্ঠার শীর্ষে যদি এটি শীর্ষস্থানীয় হয় তবে এটি কি সঠিক আচরণ?
উইলিয়াম বার্বোসা

@ উইলিয়াম বারবোসা: আমি তার সাথে "এলআরএন" আছি। (ওপির প্রশ্নের বিষয়ে তাঁর মন্তব্য দেখুন)।
রবি ডাব্লিজিজ

6

পিএইচপি 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);}

আমি নিশ্চিত যে এটি ডমএক্সপথ এবং নোড ব্যবহার করে উন্নত করা যেতে পারে। তবে এতে আমি বেশ সন্তুষ্ট আমার ক্ষেত্রে কী করা উচিত তা আমি একমাত্র উত্তর তবে সিদ্ধান্ত নিতে পারি নি যে-পয়েন্টগুলি এত উপেক্ষা করা হয়েছে। তবে অন্য উত্তর পোস্ট করা হয়েছে যাতে আর সমস্যা হয় না।

আমি url সংক্ষিপ্ত করতে tinyurl ব্যবহার করেছি, প্রচুর অক্ষর সংরক্ষণ করেছি।

আশা করি তুমি পছন্দ করেছ,

পল।

পিএস এটি কোডপ্যাডে চলবে না তাই কোনও ঝাঁকুনি দেখাতে পারে না।

সম্পাদনা করুন: পিএইচপি ট্যাগগুলি পরিবর্তন করার সাথে আরও 5 টি সংরক্ষণ করা হয়েছে

আপনি এটা কাজ দেখতে পারেন এখানে একটি ডোমেইন আমি বর্তমানে ব্যবহার করবেন না (তাই করছি শুধু একটি গোপন লিংক চেষ্টা নয়) উপর। এটি কোনও স্থায়ী লিঙ্ক নয় তবে বর্তমানে উপলব্ধ।


আপনি এটি আরও সংক্ষিপ্ত urlshortener =) ব্যবহার করে আরও ছোট করতে পারেন উদাহরণস্বরূপ ws.ws / .v
flawr

আমি tinyarrows.com লিঙ্কটি দিয়ে চেষ্টা করেছি তবে সার্ভারের সাথে সংযোগের সময়টি বিলম্ব হয়েছে। যদিও এগুলি প্রকৃতপক্ষে ক্ষুদ্র url।
পল ড্রিউট

1
এই সাইটে, এটি একটি সংক্ষিপ্ত প্রারম্ভিক ট্যাগ ব্যবহার করার জন্য গ্রহণযোগ্য (এটি এর <?পরিবর্তে আমি বিশ্বাস করি <?php) এবং বন্ধ ট্যাগটি ছেড়ে দেওয়া leave এটি আপনাকে আরও কয়েকটা চরিত্র ছেড়ে দেওয়া উচিত।
জাস্টিন

1
টারল.নো কিছু সুন্দর সংক্ষিপ্ত লিঙ্ক তৈরি করে এবং এটি একটি নরওয়েজিয়ান লিঙ্ক সংক্ষিপ্ততর হওয়ায় আন্তর্জাতিকভাবে খুব কম লোক এটি লক্ষ্য করেছে। আপনার জন্য এখানে একটি লিঙ্ক রয়েছে: টারল.নো / টি 2 ইউ একই পৃষ্ঠাতে আপনার tinyurl.com লিঙ্ক হিসাবে নির্দেশ করে এবং 8 টি অক্ষর সংরক্ষণ করে।
বিল্ড 2910

@ বিল্ড 2910 থানকিউ, এটি কাজ করেছে এবং এটি সত্যই অন্য একটি খুব ছোট url। অনেক প্রশংসা করা হয়েছে এবং 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));}

অবহেলিত (ভাল, নিউলাইন এবং শীর্ষস্থানীয় সাদা জায়গা সহ)

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)

আমি এখনও কিছু চরিত্রের ছাঁটাই করার চেষ্টা করব তবে এটি কাজটি করবে :)

সম্পাদনা করুন: এটি সংক্ষিপ্ত হওয়ার পরিবর্তে আমি এটিকে আরও দীর্ঘ করেছি: পি
যখন উত্তরগুলির নেতিবাচক ভোটেকউন্ট বা কোনও কোড ব্লক না থাকে তখন আমি উত্তরগুলি উপেক্ষা করতে যোগ করতে ভুলে গিয়েছিলাম।

আমি সম্পাদনা করার সময় আন-গল্ফ সংস্করণটি আপডেট করছি।
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.

অবরুদ্ধ সংস্করণ:

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 স্থায়ীভাবে স্থানান্তরিত পেয়েছি
তেউন প্রোঙ্ক

পূর্বে প্রস্তাবিত হিসাবে , আপনি TStringsপরিবর্তে l ঘোষণা করতে পারেন । (তবে ইনস্ট্যান্টেশনটি সাথে রাখুন TStringList))
manatwork

আমি byteপরিবর্তে সি তৈরি করার চেষ্টা করব boolean
manatwork

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ইত্যাদি)।
ক্রিস্টোফ বাহ্মওয়ালদার

@ হ্যাকারকো আমি মনে করি ইউআরএল সংক্ষিপ্তকারীরা সাধারণত তেজস্ক্রিয় হয় http://codegolf.stackexchange.com/q/34705/14509তবে অবশ্যই কাজ করবে।
ভূগর্ভস্থমোরাইল

@ কিডলিফ্যান্ট আমি আপনার কোড থেকে একগুচ্ছ শ্বেতস্পেস সরিয়েছি। আমি এটি বা অন্য কিছু পরীক্ষা করিনি তবে আমি যদি না স্ক্র্যাপ না করি তবে এটি (যুক্তিযুক্ত) একই প্রোগ্রাম হওয়া উচিত। নোট করুন যে আমি শেবাং সরিয়েছি, সেগুলি এখানে প্রয়োজনীয় নয়। ix.io/dsz হোয়াইটস্পেস নেওয়া বেশ কয়েকটি বাইট সংরক্ষণ করতে পারে :)
আন্ডারগ্রাউন্ডোমোরিয়েল

এছাড়াও, কোড গল্ফ চ্যালেঞ্জগুলির জন্য আপনার বাইট গণনা অন্তর্ভুক্ত করার কথা। আমি এখানে আপনার জন্য একটি সম্পাদনা করব তবে আপনার উত্তর সম্ভবত পরিবর্তন হতে চলেছে যদি আপনি কোনও পরামর্শ ব্যবহার করেন তবে আমি বিরক্ত করব না। আপনি চালিয়ে বাইট গণনা খুঁজে পেতে পারেন wc -c $filename। যদি আপনার সম্পাদক ফাইলগুলিতে একটি পিছনে থাকা নতুন লাইন সংযুক্ত করে (এটি সম্ভবত হয়) তবে আপনি নিজের চূড়ান্ত স্কোর পাওয়ার জন্য সেখান থেকে একটি বিয়োগ করতে পারেন।
আন্ডারগ্রাউন্ডোমোনাইল

2

গণিত - 159

প্রথমবার ম্যাথমেটিকায় পার্সিং করছেন

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 সরানো পেরেন

302 প্রাথমিক প্রতিশ্রুতি


আপনি নিজের ফিল্টারটিকে অনিরাপদ করে কিছু বাইট সংরক্ষণ করতে পারেন
পিপ্পারি

@ পিপারি দয়া করে ব্যাখ্যা করুন?
চার্লস

অনিরাপদ ফিল্টার ব্যবহারের অর্থ আপনাকে ম্যানুয়ালি এইচটিএমএল আনসকেপ করতে হবে। দেখুন ফিল্টার ডক্স
pppery

1

পিএইচপি 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!';

সম্পাদনা করুন: এলআরএন এর ইউআরএল সংক্ষিপ্ততম সংক্ষিপ্ততম URL উত্পাদন করে :)

রেজিএক্স প্রতিটি উত্তরের আগে অ্যাঙ্গারের সাথে মিলিত হয় (উত্তর আইডি সহ) এবং প্রথম <code>ট্যাগের ভিতরে থাকা বিষয়বস্তু । Uপতাকা আরম্ভ করে Ungreedy মোড এবং sপতাকা করতে .নতুন লাইন (খুব থাবা) সাথে মেলে। উত্তরগুলি এড়ানোর সাথে সাথে এটি অন্য কোনও সাথে মেলে তবে আমি চিন্তিত নই, সুতরাং <পৃষ্ঠার উত্সটিতে কেউ আক্ষরিক .োকাতে পারে না।

আমি সমস্ত উত্তর $m[2]এবং তাদের আইডিগুলিতে প্রবেশ করার পরে $m[1], আমি echoআমার উপরের উত্তরটি যেমন মুদ্রিত করেছি $m[2][array_search(34786,$m[1])-1]বা "শীর্ষে!" প্রিন্ট করতে ব্যবহার করি , যদি আমার উত্তর অবশেষে প্রথম হয় :)

আমি এই সত্যটি পছন্দ করি যে পিএইচপি-তে টেরিনারি অপারেটর একটি শর্ট সার্কিট অপারেটর হিসাবে ব্যবহার করা যেতে পারে ?:


ওটা আশ্চর্যজনক. আমি কেবল এটি পরীক্ষা করেছি তবে এটি নীচের থেকে কোডটি দেখাচ্ছে। আমি নিশ্চিত যে এটি একটি দ্রুত সমাধান হবে তবে আমি ভেবেছি এটি উল্লেখ করব। আশ্চর্যজনক কাজ যদিও, পিএইচপি-তে 135, আমি এখনও এটি বেশ বিশ্বাস করতে পারি না ...
পল ড্রিউট

1
@ পলড্রুউট আপনি ব্যক্তিগত ব্রাউজিংয়ে এই পৃষ্ঠাটি খুললে দয়া করে অর্ডারটি দেখুন। আপনি লগ ইন করার পরে এটি ক্রম থেকে আলাদা।
কোর 1024

ওহ, অবাক করা। আমি ভাবছি কেন? ভুল হিসাবে একটি ত্রুটি চিহ্নিত করার জন্য দুঃখিত। আমার খারাপ। একটি দরকারী উত্তর হিসাবে যদিও আমি আপনাকে upvote করেছি। আমি এখনও এটি আশ্চর্যজনক মনে করি ...
পল ড্রিউট

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

সুন্দর, এইচটিএমএল ইউনিটগুলি ব্যবহার করার পরিবর্তে এটিও খুব ভাল করতে পারত .. লজ্জা আমি
এটির কথা

ধন্যবাদ। এছাড়াও, একের মধ্যে (যদি না কেবল) কোডগুলি একাধিক পৃষ্ঠাগুলিও পরিচালনা করে।
মার্কো পাওনোভিচ

1

পিএইচপি - 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(), এবং ক্লোজিং ?>পিএইচপি-তে বাদ দেওয়া যেতে পারে।
জিমি 23013

ধন্যবাদ, আরও 4 টি অক্ষর হারিয়েছে। এই মুহুর্তে, আমি বিভিন্ন ক্লাস ব্যবহার না করে কীভাবে এটি আরও খাটো করা যায় তা কল্পনা করতে পারি না, ডোম অ্যাকসেসর ব্যয়বহুল।
অসিতাকা

আপনার ব্যবহারকারীর নাম পরিবর্তন করে অক্ষর সংরক্ষণ করুন!
ডেভিডজি

আমি মনে করি এটি দুর্দান্ত। আমি কেবল ডমএক্সপাথের কাছে ক্যোয়ারী অংশটি শিখার চেষ্টা করছি তবে আমাকে স্বীকার করতে হবে যে আমি এটি শক্ত খুঁজে পেয়েছি। আমি এটির জন্য চেষ্টা করেছিলাম কিন্তু বেশিরভাগভাবে এটি পেতে পারি নি। আমি আপনার পরীক্ষা করেছি তবে মনে হচ্ছে এটি উপরের দুটিটির প্রতিবেদন করছে, সরাসরি উপরেরটি নয়। আমি নিশ্চিত যে এটি একটি দ্রুত সমাধান তবে কেবল ভেবেছিলাম আমি এটি উল্লেখ করব।
পল ড্রিউট

এই তথ্যের অনুসরণ করে "দয়া করে আপনি যখন এই পৃষ্ঠাটি ব্যক্তিগত ব্রাউজিংয়ে খুলবেন তখন ক্রমটি দেখুন answer তার জন্য দুঃখিত।
পল ড্রিউট

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/hdemk76এটি প্রসারিত https://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
টেলর স্কট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.