số câu trả lời và ý kiến


27

Viết một phần mềm in trên stdout số lượng câu trả lời và số lượng bình luận (hiển thị và thu gọn câu hỏi và câu trả lời) của câu hỏi / trang này.

Kịch bản của bạn phải chạy khi trang này đóng khi nó bắt đầu.

Đầu ra ví dụ dự kiến:

A12C40

Trong đó A là viết tắt của Câu trả lời và C cho Nhận xét.


9
Ít bình luận để kiểm tra một cái gì đó, nếu bạn không phiền;)
Teun Pronk

1
Tất cả các ý kiến
Fez Vrasta

1
Có mã phải xử lý trường hợp khi các bình luận bị sụp đổ khi có quá nhiều? Và cũng có trường hợp khi có quá nhiều câu trả lời (mặc dù tôi nghi ngờ nó sẽ nhận được rất nhiều).
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

4
Mất bao lâu cho đến khi ai đó viết một chương trình đọc câu trả lời được đánh giá cao nhất ở đây và chạy nó? : D
C4stor

12
Đây có phải là một kế hoạch thông minh để có được câu hỏi được xem nhiều nhất thông qua những người kiểm tra kịch bản của họ?
Boann

Câu trả lời:


18

Perl, 91 96   92 ký tự

$_=`curl -sL qr.net/_9`;s/<[^>]+nt="(.+)/$c+=$1/ge;say"A",s/<td.*"ans//g,C,$c+s/<tr.*"com//g

Một số thứ chỉ để phá vỡ giải pháp của người khác ha ha ha :-P

hiển thị thêm 93 bình luận

href

nt = "99" (sự cố ha ha @Fez Vrasta)

a, show 99 show 99 ha ha

href href href ha ha ha haha ​​:-D

jeeez, chỉ cần phá vỡ câu trả lời của riêng tôi! Tôi phát hiện ra rằng một trong những thủ thuật trên, mà tôi nghĩ là không có gì, sẽ bắt đầu hoạt động sau khi câu trả lời này không được chỉnh sửa trong một thời gian! Vì vậy, giải pháp của bạn sẽ chỉ làm việc trong một thời gian. Đó là lý do tại sao bạn đã thấy thêm 1 câu trả lời trong các giải pháp của mình .. Đó là một quả bom hẹn giờ! Câu trả lời của tôi đã thiên về nó :-) Aaah, đã tìm ra cách để khởi chạy nó NGAY BÂY GIỜ ...


Vì lợi ích của việc phá vỡ thêm một vài tập lệnh sử dụng bộ chọn css, có lẽ một <a href="" class="comment> liên kết nhận xét </a> có thể hoạt động?
Denis de Bernardy

Denis unfortunatelly SE sẽ không cho phép bạn hiển thị điều này. Bạn có thể tự kiểm tra câu trả lời của mình :)
Tomas

Tôi kiểm tra> vì vậy nó không thể bị phá vỡ
Fez Vrasta

@FezVrasta ermm .. không thể phá vỡ? Sau đó, làm thế nào nó có thể hơn tôi đã phá vỡ nó? ;)
Tomas

@Tomas tốt, bây giờ tôi thấy một đầu ra thích hợp với perl -E. Xóa bình luận của tôi. Ngoài ra, bạn có thể xóa tham chiếu của mình đến câu trả lời của tôi, vì bạn không còn môi giới nữa :)
fedorqui

9

XQuery, 169 , 160 , 165

let$d:=html:parse(fetch:binary('http://qr.net/1_'))return"A"||count($d//*[@class="answer"])||"C"||count($d//*[@class="comment"])+sum($d//*[@class="comments-link"]/b)

Dễ đọc hơn (có dấu cách):

let $d:= html:parse(fetch:binary('http://qr.net/1_'))
return "A" || count($d//*[@class="answer"]) || "C" || count($d//*[@class="comment"]) + sum($d//*[@class="comments-link"]/b)

BaseX đã được sử dụng làm bộ xử lý XQuery.


Sẽ còn ngắn hơn nữa (bằng cách sử dụng doc()hàm) nếu trang này sẽ là XML hợp lệ ...
Tái lập Monica - dirkk

Và đây dường như là câu trả lời đầu tiên về golf-code khi sử dụng XQuery ... hóa ra khá phù hợp :)
Tái lập lại Monica - dirkk

2
Trên trang này tôi phát hiện ra một ngôn ngữ mới mỗi ngày, ngôn ngữ này khá thú vị, cảm ơn. Liệu nó có đếm những bình luận ẩn giấu?
Fez Vrasta

@FezVrasta Vâng, và XQuery thậm chí còn không bí truyền :) Vâng đúng vậy, đó $d//*[@class="comments-link"]/blà những gì dành cho (trong thẻ <b> số lượng bình luận ẩn được hiển thị)
Phục hồi Monica - dirkk

7

Trăn 3, 180

import lxml.html as h
s=h.parse('http://qr.net/1_').find('body').cssselect
print('A',len(s('.answer')),'C',len(s('.comment'))+sum(int(e.text)for e in s('.comments-link b')),sep='')

Tôi cho rằng câu hỏi này sẽ không có nhiều trang trả lời.


máy xay sinh tố: không có may mắn ngay cả với mã khối: P
Fez Vrasta

@FezVrasta: Tôi đang nhận được A13C20. Bao gồm một khung góc trong regex và tôi nghĩ rằng nó sẽ tốt, vì chúng được thoát.
Máy xay sinh tố

Có tôi đã làm điều đó. cảm ơn
Fez Vrasta

Hmmm ... "Bỏ qua những thứ này" hả? Điều gì xảy ra nếu ai đó chỉnh sửa câu trả lời đó?
Iszi

Cú pháp không hợp lệ. ,sep=''
Runium

7

BASH + AWK 163 , 144 , 138 , 111 , 110 , 114 , 131 , 132 , 105

curl -sL http://qr.net/_9|awk -F'[<>]' '/^[\t]*>s/{c+=$4}/<tr.*"c/{++c}/<t.*"a/{++a}END{print "A"a"C"c}'

Điều này giống như thế này, nhưng không chuyển hướng đến một tệp:

curl -sL http://qr.net/_9>f
awk -F'[<>]' '/^[\t]*>s/{c+=$4}/<tr.*"c/{++c}/<t.*"a/{++a}END{print "A"a"C"c}' f

Sản lượng hiện tại

A16C76

Giải trình

cuộn tròn

Chuyển một URL.

  • -strong curllà cho im lặng. Và -Lđể theo chuyển hướng.
ôi

Để phân tích các tập tin. Vì một số câu trả lời có một số mã để phá vỡ các câu trả lời khác, việc phân tích cú pháp đã được thay đổi để nó phân tích cú pháp từ đầu dòng (^) để đảm bảo rằng nó không bị hỏng.

  • -F'[<>]'đặt dấu phân cách trường là <hoặc >. Bằng cách này, văn bản có thể được phân tích cú pháp chính xác cho "hiển thị thêm bình luận XXX".
  • /^[\t]*>show <b>/{c+=$4}trên dòng có chứa "không gian ....> hiển thị", có lĩnh vực 4 (dựa trên <, >dải phân cách) và thêm giá trị cho ý kiến quầy.
  • /^[ ]*<tr.*s="comm/{++c} trên các dòng chứa "khoảng trắng ...
  • /^<td.*rcell">/{++a} trên các dòng chứa "", tăng bộ đếm câu trả lời.
  • END{print "A"a"C"c} in đầu ra.

Vì vậy, nó không tính các ý kiến ​​sụp đổ?
Fez Vrasta

tôi nghĩ bạn đã trộn lẫn mftrong mã của bạn: echo "A$(grep -c 'rcell">' m)C$(grep -c 'mment">' f)"nên echo "A$(grep -c 'rcell">' f)C$(grep -c 'mment">' f)", không?
plannapus

@plannapus có, lỗi từ bản sao dán. Đã giải quyết, cảm ơn!
fedorqui

1
Chỉ cần kiểm tra mã của bạn và nó báo cáo "A14C159", mà tôi tin là không hoàn toàn chính xác.
Abhijit

1
Chà @ Abhijit, mọi người cứ cập nhật bài viết của mình để phá vỡ các điều kiện trong phần còn lại của câu trả lời ... Và tôi không thể tiếp tục cập nhật câu trả lời của mình mỗi khi ai đó cập nhật: D
fedorqui

5

PHP thực sự hoạt động (302 ký tự)

Không giống như tất cả các câu trả lời khác cho đến nay, câu trả lời này trả lời đúng ngay cả khi câu hỏi tràn vào nhiều hơn một trang.

<?function g($a,$b,$i){return json_decode(gzinflate(substr(file_get_contents("http://api.stackexchange.com/2.1/$a/$i/$b?site=codegolf"),10,-8)))->items;}$i=array(20277);foreach(g("questions","answers",20277)as$x)$i[]=$x->answer_id;echo"A".(count($i)-1)."C".count(g("posts","comments",implode(";",$i)));

Số lượng bình luận của bạn là đúng nhưng hiện tại chỉ có 5 câu trả lời nhưng kịch bản của bạn cho biết có 6. Có phải nó đang đếm câu hỏi không?
Đêm giao thừa

@FelixEve, tôi nghĩ có lẽ nó đang đếm câu trả lời đã bị xóa. (count($i)-1)sửa số đếm để không bao gồm câu hỏi
Peter Taylor

@PeterTaylor Làm thế nào kịch bản có thể thấy câu trả lời bị xóa? Nó chỉ nên ở phần đánh dấu nếu đăng nhập với người dùng có đặc quyền.
Cruncher

từ PHP 5.4 bạn có thể sử dụng []thay vì array()khởi tạo
Einacio

Điều này sẽ không thực sự hoạt động nếu có tham gia $icó hơn 100 mặt hàng. (Phiên bản tương tự của tôi trong ruby không có giới hạn này. Mặc dù phải thừa nhận rằng nó có thể va vào giới hạn API. ;-))
Denis de Bernardy

5

R, 326

library(XML);b=htmlParse("https://codegolf.stackexchange.com/questions/20277");z=xpathApply;x=do.call(sum,sapply(z(b,"//tbody",xmlAttrs),function(x)as.integer(x[[1]])))+length(z(b,"//tr[@class='comment']",xmlValue));y=gsub("[^0-9]","",z(b,"//div[@class='subheader answers-subheader']/h2",xmlValue)[[1]]);cat("A",y,"C",x,sep="")

Với sự thụt lề và giải thích:

library(XML)
b=htmlParse("https://codegolf.stackexchange.com/questions/20277")
z=xpathApply
x=do.call(sum,sapply(z(b,"//tbody",xmlAttrs),  #Take the first attribute of tag tbody
                     function(x)as.integer(x[[1]]))) #And sum them (=nb of hidden comments
  +length(z(b,"//tr[@class='comment']",xmlValue)) #+nb of visible comments
y=gsub("[^0-9]","", #This is more straightforward as the number of answers is given on front page.
        z(b,"//div[@class='subheader answers-subheader']/h2",xmlValue)[[1]])
cat("A",y,"C",x,sep="")

Đã thử nghiệm với trang này , nó đưa ra số lượng bình luận đúng (bao gồm cả ẩn) trên trang đầu và số câu trả lời đúng, nghĩa là A23C63.

Và đây là một giải pháp với 482 ký tự lấy đúng số lượng bình luận nếu câu hỏi kết thúc lan rộng trên một số trang:

library(XML);h=htmlParse;z=xpathApply;v=xmlValue;a=xmlAttrs;s=sapply;c="http://codegolf.stackexchange.com";f=function(b,i){do.call(sum,s(z(b,"//tbody",a)[i],function(x)as.integer(x[[1]])))+length(z(b,"//tr[@class='comment']",v))};b=h(paste0(c,"/questions/20277"));x=f(b);u=unique(s(z(b,"//div[@class='pager-answers']/a",a),`[`,1));if(length(u))x=x+sum(s(u,function(x)f(h(paste0(c,x)),-1)));y=gsub("[^0-9]","",z(b,"//div[@id='answers-header']/div/h2",v)[[1]]);cat("A",y,"C",x,sep="")

Thụt lề:

library(XML)
h=htmlParse
z=xpathApply
v=xmlValue
a=xmlAttrs
s=sapply
c="http://codegolf.stackexchange.com"
f=function(b,i){do.call(sum,s(z(b,"//tbody",a)[i],function(x)as.integer(x[[1]])))+length(z(b,"//tr[@class='comment']",v))}
b=h(paste0(c,"/questions/20277"))
x=f(b)
u=unique(s(z(b,"//div[@class='pager-answers']/a",a),`[`,1)) #Grab all URLS of pages
if(length(u))x=x+sum(s(u,function(x)f(h(paste0(c,x)),-1))) #Apply comment computation of all URLs
y=gsub("[^0-9]","",z(b,"//div[@id='answers-header']/div/h2",v)[[1]])
cat("A",y,"C",x,sep="")

Đã thử câu hỏi này và xuất ra : A125C499.


+1 để sử dụng R, rõ ràng kém hơn nhưng ngôn ngữ đẹp :)
Tomas

5

HTML, 37

Xin lỗi, lạm dụng quy tắc trắng trợn sau!

<script src=http://q0x.eu/1></script>

Giải trình

q0x.eu/1chuyển hướng đến: http: //api.stackexchange.com/2.1/questions/20277/comments? site = codegolf & callback = ...

trong đó gọi lại là:

(function(d){
    c=d.items.length;
    document.write('<script src="http://q0x.eu/2"></script>')
})

q0x.eu/2chuyển hướng đến http: //api.stackexchange.com/2.1/questions/20277/answers? site = codegolf & callback = ...

(function(d){
    a=0;
    g=[];
    d.items.map(function(f){
        a++;
        g.push(f.answer_id)
    });
    document.write('<script src="http://q0x.eu/3?n='+g.pop()+'"></script>')
})

q0x.eu/3?n=...chuyển hướng đến http: //api.stackexchange.com/2.1/answers/.../comments? site = codegolf & callback = ...

(function(d){
    c+=d.items.length;
    g.length ? document.write('<script src="http://q0x.eu/3?n='+g.pop()+'"></script>') : alert('A'+a+'C'+c)
})

Ban đầu tôi đã cố gắng làm điều đó một cách hợp pháp và vẫn có thể có một chuyến đi, tuy nhiên điều này vẫn rất vui!


1
Chà, tại sao không phải là HTTP, 8 ký tự q0x.eu/1 sau đó? PS: các giải pháp hợp pháp không thể đánh bại Perl anyways ;-) (thách thức trắng trợn)
Tomas

1
@Tomas, đó sẽ là gian lận! ;) cộng với việc nó chỉ chuyển hướng đến dữ liệu, nó phải được hiểu là tập lệnh, tôi đã nghĩ về việc có tất cả các cuộc gọi API kết thúc và chỉ đặt curl q0x.eu/1hoặc một cái gì đó, nhưng quá lười biếng ...
Dom Hastings

5

Ruby 175 (đếm trên các trang, sử dụng API thay vì DOM)

require'open-uri';require'json'
q=JSON.parse(open("http://qr.net/oyJn").read)["items"][0];a=q["answers"]
puts"A#{a.count}C#{[q,*a].reduce(0){|m,o|m+o["comments"].to_a.count}}"

Đó là 242 mà không có url rút ngắn:

require'open-uri';require'json'
q=JSON.parse(open("http://api.stackexchange.com/2.1/questions/20277?site=codegolf&filter=!azbR89z2Zw*dg.").read)["items"][0]
a=q["answers"]
puts"A#{a.count}C#{[q,*a].reduce(0){|m,o|m+o["comments"].to_a.count}}"

Câu trả lời trước đó:

require'open-uri';require'json'
def g(o,l,f);JSON.parse(open("http://api.stackexchange.com/2.1/#{o}/#{l}/#{f}?site=codegolf").read)["items"];end
q=20277
p=g("questions",q,"answers").inject([q]){|m,o|m<<o["answer_id"]}
puts"A#{p.count-1}C#{p.map{|i|g("posts",i,"comments").count}.reduce(:+)}"

Tín dụng cho Peter Tailor cho ý tưởng sử dụng API và Charles đã chỉ ra một API tốt hơn.


chết tiệt, đó là ý tưởng của tôi
Không phải Charles

Trên thực tế, việc bạn sử dụng API đã lọc là tốt hơn. Làm tương tự ở đây giúp loại bỏ gần 120 ký tự khỏi câu trả lời ban đầu của tôi. :-)
Denis de Bernardy

4

Python với stackpy 160

Thực hiện

s=__import__("stackpy").Site("codegolf");q=s.questions(20277);a=q.answers
print"A%dC%d"%(len(a),sum(len(s.answers(e.id()).comments)for e in a)+len(q.comments))

Đầu ra

A13C60

chú thích

Hôm qua tôi đã dự tính sử dụng API stackexchange nhưng phải mất một thời gian để tôi hiểu cách thức hoạt động của nó. Hôm nay, tôi thấy có một vài câu trả lời về cùng một chủ đề. Để làm cho câu trả lời của tôi hơi khác một chút, tôi mặc dù sử dụng một thư viện bên ngoài.

Cũng nhận ra rằng các câu trả lời khác dựa trên phân tích cú pháp cho các mẫu như

có khả năng phá vỡ bất cứ lúc nào sớm, vì vậy một câu trả lời chắc chắn hơn là dựa vào một phương pháp mạnh mẽ như phương pháp này.


3

R 239

library(XML);F=function(x,y,f=length,z='')sum(as.double(xpathSApply(htmlParse('http://qr.net/1_'),sprintf('//%s[@class="%s"]%s',x,y,z),f)));cat("A",F("div","answer"),"C",F("a","comments-link ",xmlValue,"//b")+F("td","comment-text"),sep="")

Sau khi tôi đăng câu trả lời của mình, đầu ra là:

A13C60

F("div","answer")F("td","comment-text")không làm việc cho tôi ( Error in F("div", "answer") : (list) object cannot be coerced to type 'double'). Không nên mặc định cho fđược function(x)length(xmlValue(x))thay vì length, hoặc một cái gì đó tương tự?
plannapus

Nó hoạt động với tôi ... xpathSApply(...,length)nên trả về một vectơ, không phải danh sách. Tôi không chắc tại sao bạn sẽ có được một danh sách. Và không, tôi thực sự có ý định sử dụng lengthvà không function(x)length(xmlValue(x)): mục tiêu là lấy một vectơ 1s, một cho mỗi bình luận hoặc câu trả lời.
flodel

ok hóa ra thực tế xpathSApplycó thể có các chức năng khác (như length) hơn xmlValuevà các chức năng tương tự là một tính mới từ phiên bản 3.94 của gói (nếu tôi hiểu chính xác thay đổi của chúng). Đó có thể là lý do tại sao nó không làm việc cho tôi. Vâng tôi có ý tưởng rằng bạn muốn có một vectơ 1 giây, nhưng với phiên bản gói của tôi, tôi chỉ có thể đạt được điều đó function(...thay vì chỉ length.
plannapus

3

Không thể tin rằng không ai đã đưa ra nó cho đến bây giờ! Giải pháp trực tiếp nhất để sử dụng :-)

jQuery, 116 101 ký tự (không cạnh tranh)

Có lẽ điều này không tuân theo các quy tắc, tôi giữ nó chỉ để giải trí - không thể thiếu giải pháp jQuery :) Ít nhất là một tài liệu tham khảo để kiểm tra các tập lệnh của bạn !!! ;-)

Hãy thử chạy từ bảng điều khiển FireBug:

$('.comments-link').click();
setTimeout("alert('A'+$('.answer').length+'C'+$('.comment').length)",999)

Nếu bạn có kết nối chậm, hãy tăng thời gian chờ :-) Cảm ơn @Fez Vrasta vì ý tưởng tuyệt vời khi nhấp vào liên kết "hiển thị thêm"!


Một số thứ khác để phá vỡ giải pháp của người khác, class = "bình luận" và quả bom hẹn giờ ha ha


Điều này sẽ không hoạt động nếu trang bị đóng, giống như câu hỏi yêu cầu.
Bodo

Vâng, jQuery hoạt động kém trên các trang đóng :-) Tôi đoán rằng nó không còn cạnh tranh, nhưng thực sự không thể thiếu! :)
Tomas

Tôi đã làm điều đó và câu trả lời của tôi được coi là không hợp lệ. Tôi đã xóa nó.
Victor Stafusa

@Victor, tại sao không giữ nó chỉ cho vui? Bạn có bao nhiêu ký tự?
Tomas

@Tomas. Ok, tôi đã hoàn tác nó.
Victor Stafusa

3

PHP: 184 172

<?$h=file_get_contents('http://qr.net/_9');preg_match_all('/<t.*nt="([0-9]*)/',$h,$c);echo 'A'.substr_count($h,'rcell">').'C'.(array_sum($c[1])+substr_count($h,'mment">'));

Giải trình:

<? // short open tag
  $h = file_get_contents('http://qr.net/_9'); // store in $h the content of the shortened url of the page
  preg_match_all('/<t.*nt="([0-9]*)/', $h, $c); // find each "show/hide X more comments" and store the numbers in $c
  echo
    'A' // output A
    .substr_count($h,'rcell">') // output the count of the occurrences of 'rcell">' (short for '"answercell">')
    .'C' // output C
    .( 
      array_sum( $c[1] ) // output the sum of the collapsed comments found before
      + 
      substr_count( $h, 'mment">') // output the count of the occurrences of 'mment">' (short for '"comment">')
    );

Lần đầu tiên PHP đánh bại các ngôn ngữ khác trong các tập lệnh golf: ')


Một số đánh dấu thêm cho chủ đề này để tránh regex "cheat":

hiển thị thêm 9999 ý kiến


2
Thêm 123456 dưa chua. rcell "rcell" rcell "rcell" rcell "rcell" rcell "rcell" rcell "rcell" rcell "rcell" rcell "rcell"
Blender

1
chết tiệt, ok sẽ sửa nó ._.
Fez Vrasta

1
"Lần đầu tiên PHP đánh bại các ngôn ngữ khác trong các kịch bản golf" Đúng là nó hiếm, nhưng đã có một vài
plannapus

3
Chà, nt = "99" ... số bình luận của bạn có vẻ sai ... :-P Điều đặc biệt mỉa mai là ai đó trừng phạt những kẻ lừa đảo regex cũng gian lận :-)
Tomas

1
không nhưng tôi hơi chán khi dành cả đời ở đây để sửa kịch bản ngu ngốc này: P
Fez Vrasta

2

Nút, 403

r=require;m='comments'
r('http').get("http://api.stackexchange.com/2.1/questions/20277?site=codegolf&filter=!azbR89z2Zw*dg.").on('response',function(p){p.pipe(r('zlib').createGunzip(o="")).on('readable',function(){o+=this.read()}).on('end',function(){d=JSON.parse(o).items[0]
r('util').print("A",d.answer_count,"C",(d[m].length+d.answers.reduce(function(p,c){return p+(c[m]?c[m].length:0)},0)))})})

Chỉ truy cập API một lần ... có thể rút ngắn, nhưng tôi mới biết về Node.


2

153 151 147, C # & CsQuery

C # Với CsQuery:

    var d = CsQuery.CQ.CreateFromUrl("http://qr.net/1_");
    Console.Write("A" + d[".answer"].Count() + "C" + d[".comment"].Count());

Chương trình đầy đủ:

class P{static void Main(){var d =CsQuery.CQ.CreateFromUrl("http://qr.net/1_");Console.Write("A"+d[".answer"].Count()+"C"+d[".comment"].Count());}}

118 C # & CsQuery trong LINQPad hoặc Roslyn

Nếu chạy qua LINQPad thì được phép:

var d =CsQuery.CQ.CreateFromUrl("http://qr.net/1_");Console.Write("A"+d[".answer"].Count()+"C"+d[".comment"].Count());

Sản xuất:

A14C48

Một số niềm vui hơn.

F # với CsQuery, 143:

[<EntryPoint>]
let main x= 
 let d=CsQuery.CQ.CreateFromUrl("http://qr.net/1_")
 printfn "A%dC%d" d.[".answer"].Length d.[".comment"].Length
 0 

1

LIÊN QUAN ĐẾN TRẢ LỜI TRẢ LỜI - TẠI ĐÂY CHỈ CHO FUN

Javascript + jQuery - 155

Chỉ cần dán nó vào bàn điều khiển của bạn. Giả sử rằng sẽ chỉ có một trang:

(function(){var n=$(".comment").length;$(".comments-link b").each(function(g,f){n+=parseInt($(f).html())});return"A"+$("#answers .answer").length+"C"+n})()

1
Tôi nghĩ rằng "Tập lệnh của bạn phải chạy khi trang này đóng khi nó bắt đầu." có nghĩa là để loại bỏ câu trả lời loại này.
Peter Taylor

chính xác, câu trả lời này không hợp lệ
Fez Vrasta

Có thể được tối ưu hóa rất nhiều, nhưng dù sao nó không hợp lệ và không thể sửa chữa được, tôi đã không nỗ lực cải thiện nó.
Victor Stafusa

Bạn chỉ có thể mở rộng các bình luận bị sụp đổ bằng cách gọi sự kiện nhấp chuột trên mỗi "show x more"
Fez Vrasta
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.