গুগলের গড় দৈর্ঘ্য


24

আমি কাছাকাছি Pyth URL টি অনুরোধ বৈশিষ্ট্য সঙ্গে তালগোল পাকানো হয়, এবং লক্ষ্য করেছি যে, সবসময় Google আমার জন্য একটি কিছুটা ভিন্ন দৈর্ঘ্য, সাধারণত সঙ্গে একটি প্রতিক্রিয়া দিয়েছেন ~10500অক্ষর।

সুতরাং এই চ্যালেঞ্জটিতে আপনার কাজটি হ'ল এইচটিএমএল প্রতিক্রিয়ার গড় দৈর্ঘ্য প্রিন্ট করা http://google.com

চশমা

  • আপনি একটি ইনপুট নেবেন nযা করার অনুরোধের সংখ্যা।
  • প্রতিটি অনুরোধের জন্য, আপনি একটি HTTP অনুরোধ করবেন।
  • আপনি শিরোনামগুলি নয়, প্রতিক্রিয়া বডি (এইচটিএমএল পাঠ্য) গণনা করবেন।
  • প্রতিক্রিয়ার দৈর্ঘ্যের পাটিগণিত গড় আউটপুট করুন।
  • আপনি কেবল url অ্যাক্সেস করতে পারবেন http://google.com, অন্য কোনওটি নয়।
  • এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোড !

ইনপুট জন্য নমুনা আউটপুট 10: 10560.1

(আমি পাইথনের urllibজন্য এটি ব্যবহার করেছি)

পিএস: গুগল এটি করে কেন কেউ জানে?


1
আজব, http://google.comসর্বদা আমার জন্য 261 বাইট ফেরত দেয় ... https://google.com/ncrতবে আরও ফিরে আসতে পারে।
নীল

@ নীল ওড, http://google.comসর্বদা আমার জন্য 10422 বাইট ফেরত দেয় ...
লেজিওনম্যামাল978

পূর্ণসংখ্যার অনুপাত (অর্থাত্, একটি সঠিক ভগ্নাংশ) কি ফেরত দেওয়া যায়?
LegionMammal978

5
@ নীল আপনি 261 বাইট পেয়েছেন কারণ আপনি আসলে একটি ইউআরএল পুনর্নির্দেশ, 302 কোড পেয়েছেন যা শরীরে অনুসরণ করতে নতুন ইউআরএল রয়েছে। কিছু প্রোগ্রাম, যেমন লিনাক্সের কার্লের মতো, নতুন URL টি স্বয়ংক্রিয়ভাবে অনুসরণ করার জন্য একটি নির্দিষ্ট যুক্তির প্রয়োজন argument
শৈশুমারা

3
@ সশৌমারা টিবিএইচ চ্যালেঞ্জটি পুনঃনির্দেশগুলি অনুসরণ করার জন্য নির্দিষ্ট করে না, তাই আমি নীলের উত্তরটি ডিফল্টরূপে সঠিক উত্তর হিসাবে প্রত্যাশা করব, কারণ এটি http://google.comপ্রেরিত প্রকৃত এইচটিটিপি প্রতিক্রিয়াটি পরিচালনা করে । অবশ্যই এটি চ্যালেঞ্জের মূল বিষয় নয়, তাই প্রতিদ্বন্দ্বিতা করার জন্য চ্যালেঞ্জটি আইএমও সম্পাদনা করা উচিত।
অ্যারন

উত্তর:


20

বাশ + সিস্টেম ইউটিলিটিস, 56 53 49 48 বাইট

আপডেট: ডিজিটাল ট্রমাতে 4 বাইট সংরক্ষণ এবং ডেনিসকে 1 টি বাইট আরও ধন্যবাদ

curl -L `yes google.com|sed $1q`|wc|dc -e1k?$1/p

আমার মূল উত্তরে আমি লুপের জন্য একটি অনুকরণ করার yesসাথে সংমিশ্রণে ব্যবহার করছিলাম xargs। তবে curlইউআরএলগুলির একটি তালিকা ইনপুট হিসাবে গ্রহণ করতে পারে, সুতরাং কেবলমাত্র আউটপুটটি yesআসলে প্রয়োজন।

Google.com এcurl অ্যাক্সেস করা হলে , এটি একটি 302 পুনর্নির্দেশ পৃষ্ঠা পায় যা বডি বিভাগে নতুন URL রয়েছে, সুতরাং এটি অনুসরণ করার জন্য বিকল্পটি প্রয়োজন।-L

চালনার উদাহরণ: উত্তরটি STDOUT এ মুদ্রিত হয়, আমি কেবল স্পষ্টতার জন্য STDERR পুনর্নির্দেশ করি

me@LCARS:/PPCG$ ./google_length.sh "8" 2> /dev/null
10583.2

ব্যাখ্যা: (প্রাথমিকভাবে জমা দেওয়া কোডের)

yes google.com|     # repeatedly output a line containing the string "google.com"
sed $1q|            # print the first $1 lines only (shorter than head -$1)
xargs curl -sL|     # xargs reads the input lines and executes "curl -sL" with the
                    #current input line as an additional argument.
wc -m|              # count the number of characters
dc -e1k?$1/p        # dc script: set precision to 1, read input, push $1 and divide

সম্পাদনা: আমি এর সাথে প্রতিস্থাপন wc -mকরেছি wc, কারণ এমনকি যুক্তি ছাড়াই এটি আমার চেয়ে একটি চেয়ে আরও দুটি পরিসংখ্যান মুদ্রণ dcকরে, এই আউটপুট অনুসরণকারী একই স্ক্রিপ্টটি এখনও কাজ করে, কারণ আমরা যে গণনাটি চাইছি তা আনন্দের সাথে, পার্সিংয়ের সময় স্ট্যাকের শীর্ষে স্থাপন করা হয়েছে।


@ ডিজিটালট্রামুমা খুব সুন্দর, দরকার নেই xargs। ধন্যবাদ, আমি উত্তর আপডেট করেছি।
শৈশুমারা

2
আপনি প্রয়োজন হবে না -s। STDERR এ স্ট্রে আউটপুট ডিফল্টরূপে অনুমোদিত।
ডেনিস

@ ডেনিস ধন্যবাদ, উত্তর আপডেট হয়েছে।
শৈশুমারা

17

এমএটিএল , 28 বাইট

:"'http://google.com'Xin]vYm

জিআইফ বা এটি ঘটেনি:

এখানে চিত্র বর্ণনা লিখুন

কিভাবে এটা কাজ করে

:                      % Implicitly input n. Push [1 2 ... n]
"                      % For each
  'http://google.com'  %   Push this string
  Xi                   %   URL read. Gives a string
  n                    %   Number of elements
]                      % End
v                      % Concatenate stack contents into a vertical vector
Ym                     % Mean. Implicitly display

12

পাওয়ারশেল , 48 বাইট

1.."$args"|%{irm google.com}|measure Le* -a|% A*

ব্যাখ্যা

  1. 1ইনপুট পূর্ণসংখ্যা থেকে শুরু করে একটি সীমা তৈরি করুন।
  2. পরিসরের প্রতিটি মানের জন্য Invoke-RestMethod( irm) গুগল হোমপেজ। ফলাফলটি JSON নয় তাই এটি দেহটিকে deserialization করার পরিবর্তে ভারব্যাটিম ফিরিয়ে দেবে।
  3. ইনপুট স্ট্রিংগুলির (মৃতদেহগুলির) সম্পত্তির গড় প্রাপ্তিতে Measure-Object( measure) এটি প্রেরণ Lengthকরুন।
  4. ফলাফল Averageসম্পত্তি প্রসারিত ।

জানা |% A*সম্ভব ছিল না , আমি সর্বদা এড়িয়ে চলেছি measureকারণ আমি ভেবেছিলাম আপনি সম্পত্তিটির নামটি ওয়াইল্ডকার্ড করতে পারবেন না ...
কলসডাব্লু

2
@ কনরএলএসডাব্লু হ্যাঁ, পাওয়ারশেলের কোড গল্ফের জন্য একটি উপস্থাপনা তৈরি করার সময় সম্প্রতি এটি আবিষ্কার করেছি discovered |? A*পাশাপাশি কিছু দুর্দান্ত জিনিস পরীক্ষা করে দেখুন । আমার উপস্থাপনা ফাইলগুলি দেখতে এবং টিপস থ্রেডে এই স্টাফ যুক্ত করতে হবে।
ব্রিটিশবাদী


10

জাভা 8, 197 184 182 181 বাইট

Golfed:

n->{int s=0,i=0;while(i++<n)try{s+=new java.util.Scanner(new java.net.URL("http://google.com").openStream()).useDelimiter("\\A").next().length();}catch(Exception e){}return s*1f/n;}

Ungolfed:

public class AverageLengthOfGoogle {

  public static void main(String[] args) {
    float bytes = f(n -> {
      int s = 0, i = 0;
      while (i++ < n) {
        try {
          s += new java.util.Scanner(new java.net.URL("http://google.com").openStream())
              .useDelimiter("\\A").next().length();
        }
        catch (Exception e) {
        }
      }
      return s * 1f / n;
    } , 10);
    System.out.println(bytes);
  }

  private static float f(java.util.function.IntFunction<Float> f, int n) {
    return f.apply(n);
  }
}

এটি রিসোর্সগুলি ফাঁস করে তবে কয়েকটি বাইটের সন্ধানে অর্থ প্রদানের জন্য এটি একটি সামান্য দাম।


1
সম্ভাব্য উন্নতি: 1. ডাবল -> ভাসা 2. গুগল.কম -> গুগল.কম 3. সম্ভবত এনকোডিং নির্দিষ্ট করা প্রয়োজন নয়, কিছু অবচয় পদ্ধতি থাকতে হবে আপনার কিছু 20 বাইট সংরক্ষণ করা উচিত
kukis

@ কুকিস ধন্যবাদ, এটি 13 বাইট বন্ধ করে দিয়েছে।

n->{int s=0,i=0;for(;i<n;++i)try{...}catch(Exception e){}return s*1.0/n;}। নিশ্চিত নন আপনি প্রতিস্থাপন করতে পারেন কিনা s*1.0/nসঙ্গে বিনিময়ে s*1f/n, কিন্তু এটা এর মূল্য ব্যবহার করে দেখুন
রোমান Graf

@ রোমানগ্রাফ হ্যাঁ, এটি কার্যকর হয়। ধন্যবাদ!

for(;i<n;++i)for(;i++<n;)-1 বাইট জন্য পরিবর্তন করা যেতে পারে ।
কেভিন ক্রুইজসেন

7

পাইথ, 25 বাইট

.OmslM'"http://google.com

'পাইথের ওপেন ফাংশন, এবং যখন স্ট্রিংটি দিয়ে শুরু করা হয় http, তখন সে ওয়েবসাইটটিতে একটি জিইটি রিসুয়েস্ট সম্পাদন করে। প্রত্যাবর্তন মান হ'ল bytesবস্তুর একটি তালিকা । দুর্ভাগ্যক্রমে, পাইথগুলি sকীভাবে এই জিনিসগুলিকে একত্রীকরণ করতে জানে না, তার পরিবর্তে lsআমি slMমোট দৈর্ঘ্য পেতে ব্যবহার করি । এটি দ্বারা ইনপুট সমান একাধিক বার সঞ্চালিত হয় m, এবং ফলাফল দ্বারা গড় হয় .O


7

05 এ বি 1 ই , 15 বাইট

কোড:

F’Š¹.ŒŒ’.wgO}¹/

ব্যাখ্যা:

F           }     # Input times do..
 ’Š¹.ŒŒ’          #   Push the string "google.com"
        .w        #   Read all and wrap into a string
          g       #   Get the length
           O      #   Sum it up with the total
             ¹/   # Divide by input

সিপি -1222 এনকোডিং ব্যবহার করে । অফলাইন ইন্টারপ্রেটারে চালানোর সময় আমি নিম্নলিখিতটি পাই:

> py -3 05AB1E.py -c test.abe
1
11039.0

> py -3 05AB1E.py -c test.abe
2
11070.0

> py -3 05AB1E.py -c test.abe
3
11046.666666666666

> py -3 05AB1E.py -c test.abe
4
11029.75

> py -3 05AB1E.py -c test.abe
5
11015.8

হয় আপনার google.com এর জন্য অন্তর্নির্মিত আছে বা অন্য কিছু চলছে!
পিওরফেরেট

@ পিওফেরেট এটি আসলে একটি অভিধান সংকুচিত স্ট্রিং। আপনি এখানে চেষ্টা করে দেখতে পারেন :)।
আদনান

গল্ফিংয়ের জন্য উত্সর্গীকৃত ভাষাগুলি কী অনুমোদিত? যদি তা হয় তবে আমি তাত্ত্বিকভাবে এমন ভাষা তৈরি করতে পারি যা এই সমস্ত কিছু এক বাইটে করবে
কুকিস

@ কুকিস উত্সর্গীকৃত গল্ফিং ভাষা ব্যবহারের অনুমতি দেওয়া হয়, যদি এবং কেবল তখনই ব্যবহৃত হয় যে ভাষা সংস্করণটি চ্যালেঞ্জটির পরে পোস্ট না করে। আপনি যদি একটি ভাষা এক বাইট এই সব কিছু করতে পারে আপ করতে, কিন্তু কম্পাইলার চ্যালেঞ্জ পর করা হয়েছে, তবে এটি উভয় লঙ্ঘন এই এবং এই
আদনান

7

পিএইচপি, 90 78 বাইট

while($i++<$argv[1]){$s+=strlen(file_get_contents('http://google.com'));}echo $s/$argv[1];

while($i++<$argv[1])$s+=strlen(join(file('http://google.com')));echo$s/($i-1);
  • সংক্ষিপ্ত ফাংশন / ভেরিয়েবল ব্যবহার করা হয়েছে এবং কমেন্টারদের দ্বারা উল্লিখিত অযৌক্তিক সিনট্যাকটিক কনস্ট্রাক্ট সরানো হয়েছে

2
কোডগল্ফ.সে ওয়েলকাম! join(file())পরিবর্তে file_get_contents()আপনাকে কয়েকটি বাইট সংরক্ষণ করে।
ক্রিস্টোফ

2
এছাড়াও আপনি কোঁকড়ানো ধনুর্বন্ধনী এবং পরে স্থান ফাঁকা করতে পারেন echo। এছাড়াও আপনি বিভাজক হিসাবে $iপরিবর্তে ব্যবহার করতে পারেন $argv[1]
ব্যবহারকারী59178

6

গণিত, 58 বাইট

N@Mean[StringLength@URLFetch@"http://google.com"~Table~#]&

বেনামে ফাংশন। ইনপুট হিসাবে একটি সংখ্যা নেয় এবং আউটপুট হিসাবে একটি নম্বর প্রদান করে।


তোমার দরকার কেন N@? আপনি এটি মুদ্রণ করছেন না, সুতরাং এটিকে সুন্দরভাবে বিন্যাস করার কোনও কারণ নেই।
পাভেল

@ পাভেল ওপি নির্দিষ্ট করে দিয়েছে যে সঠিক ভগ্নাংশের অনুমতি নেই।
LegionMammal978

3

পাইথন, 102 বাইট

import urllib2
f=lambda n:sum([len(urllib2.urlopen(x).read()) for x in ['http://google.com']*n],0.0)/n

অথবা, যদি আমরা ভাসমানের চেয়ে পূর্ণসংখ্যার ফিরে আসতে পারি তবে উত্তরটি 98 বাইট হতে পারে:

import urllib2
f=lambda n:sum([len(urllib2.urlopen(x).read()) for x in ['http://google.com']*n])/n

1
আপনি সেখানে কয়েকটি জায়গা সরিয়ে ফেলতে পারেন। )for x in[। এছাড়াও, আপনি যদি পাইথন 3 এ নিজেকে সীমাবদ্ধ রাখেন তবে বিভাগটি স্বয়ংক্রিয়ভাবে ভাসমান বিভাগ হবে এবং আপনি সরাতে পারবেন 0.0
mbomb007

1
এছাড়াও আপনি প্রয়োজন হবে না []2nd ক্ষেত্রে - sumলাগেgenerator
Bahrom

3

সিজেম , 23 বাইট

rd_"google.com"a*:gs,\/

সুরক্ষা কারণে টিআইওতে কাজ করে না।

টেস্ট রান

$ echo -n 'rd_"google.com"a*:gs,\/' > google-avg.cjam
$ wc -c google-avg.cjam
23 google-avg.cjam
$ java -jar cjam-0.6.5.jar google-avg.cjam <<< 10; echo
10663.2
$ java -jar cjam-0.6.5.jar google-avg.cjam <<< 10; echo
10650.0
$ java -jar cjam-0.6.5.jar google-avg.cjam <<< 10; echo
10651.0
$ java -jar cjam-0.6.5.jar google-avg.cjam <<< 10; echo
10651.4
$ java -jar cjam-0.6.5.jar google-avg.cjam <<< 10; echo
10673.5

কিভাবে এটা কাজ করে

 rd                      e# Read a double from STDIN. Let's call it D.
   _                     e# Push a copy of D.
    "google.com"a        e# Wrap the string in an array, pushing ["google.com"].
                 *       e# Repeat the array D times.
                  :g     e# Map `get` over the array, making D requests to the URL.
                    s    e# Combine all D responses into a single string.
                     ,   e# Compute the length.
                      \  e# Swap the length with the original D.
                       / e# Perform division.

1

সিজেম, 27 বাইট

{"google.com"g,}ri*]_:+\,d/

নির্দিষ্ট না হলে সিজেএম এইচটিটিপি ধরে নেয়।

ব্যাখ্যা

{"google.com"g,}             A block which fetches from http://google.com and gets its length
                ri*          Run this block a number of times equal to the input
                   ]         Collect all the results in an array
                    _        Duplicate the array
                     :+      Sum it
                       \     Swap back to the original array
                        ,    Get its length
                         d/  Cast to double and divide 
                              (without casting, it would be integer division)

1

Clojure, 102 বাইট

(fn[n](/(reduce + 0.0(repeatedly n #(count(slurp(clojure.java.io/reader"http://www.google.com")))))n))

Ungolfed:

(fn [n]
  (/
   (reduce + 0.0
           (repeatedly n
                       #(count (slurp (clojure.java.io/reader "http://www.google.com")))))
   n))

#(count (slurp (clojure.java.io/reader "http://www.google.com")))এটি একটি স্থানীয় ফাংশন যা গুগলের কোনও HTTP অনুরোধ থেকে বাইটগুলি গণনা করে, repeatedlyফাংশনটিকে n বার কল করে এবং ফেরত গণনা থেকে একটি তালিকা তৈরি করে, ফলাফলগুলি একসাথে হ্রাস করে এবং পরিশেষে এটি n দ্বারা বিভক্ত হয় গড় হিসাবে। হ্রাসটি 0.0 এ ফলাফলটি ভাসতে বাধ্য করার জন্য শুরু করা হয়- অন্যথায় বিভাগটি যুক্তিযুক্ত হতে পারে। পুরো জিনিসটি একটি বেনামি ফাংশনে আবৃত থাকে যা অনুরোধটির নামকরণে অনেক সময় নেয়।


দিব্যি আমি এই উত্তরটি অনুলিপি করিনি! আমার বেশ আপনার কাছাকাছি শেষ। (clojure.java.io/reader)অংশ BTW অপ্রয়োজনীয়। আপনি যদি কোনও স্ট্রিং পাস করেন তবে পর্দার আড়ালে এটি স্বয়ংক্রিয়ভাবে হয়ে যায়।
কারসিজেনিকেট

1

পাইথন 3, 95 বাইট

পুনরাবৃত্তির সমাধান

import requests as r
f=lambda n,t:f(n-1,t+len(r.get('http://google.com').text)) if n>0 else t/i

কোথায় n=i=int(input())

অনুরোধ লাইব্রেরি


অনুরোধগুলি একটি বাহ্যিক গ্রন্থাগার বলে মনে হচ্ছে, সুতরাং আপনি এটির একটি লিঙ্ক যুক্ত করতে চাইবেন। এরকম কিছুPython 3 + [Requests](http://docs.python-requests.org/en/master/user/install/#install), 95 bytes
মানটি কালি

@ ভালিউইঙ্ক যোগ করেছেন, আপনার এটি ইনস্টল করার দরকার নেই যদিও এটি পাইথন 3 নিয়ে আসে (কমপক্ষে এটি আমার জন্য ডিফল্টরূপে এসেছিল)। অন্য অজগর উত্তরটি করার দরকার নেই কেন?
মিগুয়েল

urllib2নেটিভ (প্রাক-ইনস্টলড) পাইথন লাইব্রেরি ডকস.পিথন.আর / 2 / লাইবারি / ইউরালিব 2 এইচটিএমএল যাতে পাইথন ডাউনলোড করা যে কেউ তত্ক্ষণাত তাদের কোড চালাতে পারে run আমি লাইব্রেরিটি ছাড়া আমার পাইথন 3 এ আপনার কোডটি চালাতে পারি না।
মান কালি

@ ভালিউইঙ্ক কোনও সমস্যা নেই, এখানে আমার প্রথম অবদান, আমি জানতাম না
মিগুয়েল

1

পার্ল, 66 বাইট

perl -MLWP::Simple -pe'map$t+=length get"http://google.com",1..$_;$_=$t/$_'

51 বাইট + 14 বাইট -MLWP::Simple<space>+1 বাইটের জন্য-p

LWP :: সরল ব্যবহার করে সোজা সমাধান । দ্যgetফাংশন ডিফল্টরূপে রপ্তানি এবং সাফল্যের উপর প্রতিক্রিয়া বিষয়বস্তু ফেরৎ করা হয়।

পার্ল 5.14+, 94 93 বাইট (কেবলমাত্র মডিউলগুলি)

perl -MHTTP::Tiny -pe'map$t+=length${+get{new HTTP::Tiny}"http://google.com"}{content},1..$_;$_=$t/$_'

79 বাইট + 13 বাইট -MHTTP::Tiny<space>+1 বাইট জন্য-p

HTTP :: টিনি ব্যবহার করে , যা পার্ল 5.14 সাল থেকে মূল ক্ষেত্রে রয়েছে।

কিভাবে এটা কাজ করে

এই:

get{new HTTP::Tiny}"http://google.com"

এর অপ্রত্যক্ষ বস্তু সিনট্যাক্স সমতুল্য:

HTTP::Tiny->new->get("http://google.com")

এবং তিনটি বাইট সংরক্ষণ করে। এর getঅধীনে সঞ্চিত সামগ্রী সহ পদ্ধতিটি একটি হ্যাশফ করেcontent কী।

প্রকৃত প্রতিক্রিয়া সামগ্রী পেতে, আমরা এটি করি:

${+get{new HTTP::Tiny}"http://google.com"}{content}

যা এর সমান:

(get{new HTTP::Tiny}"http://google.com")->{content}

তবে আমরা যুক্ত করার পরে একটি বাইট সংরক্ষণ করে length:

length(foo)->{bar}  # wrong, equivalent to (length(foo))->{bar}
length+(foo)->{bar}
length${+foo}{bar}

0

রেবোল, 69 বাইট

n: 0 loop i: do input[n: n + length? read http://www.google.com]n / i

0

ক্লোজার, 70 বাইট

#(/(reduce(fn[a _](+ a(count(slurp"http://google.com"))))0(range %))%)

একটি nদীর্ঘ পরিসীমা উপর একটি ভাঁজ । প্রতিটি অনুরোধের দৈর্ঘ্যের যোগফল দেয়, তারপরে এটিকে অনুরোধের সংখ্যা দ্বারা ভাগ করে। ক্লোজুর বিভাগকে পরিচালনা করার জন্য, এটি দশমিক নয়, ভগ্নাংশ প্রদান করে। যদি এটি অগ্রহণযোগ্য হয় তবে আমি এটি একটি দম্পতি বাইটের দামে ঠিক করতে পারি।

(defn avg-request-len [n]
  (/
    (reduce (fn [acc _]
              (+ acc (count (slurp "http://google.com"))))
            0
            (range n))
    n))

0

রুবি, 73 + 10 = 83 বাইট

-rnet/httpপতাকা ব্যবহার করে ।

->n{s=0.0;n.times{s+=Net::HTTP.get(URI"http://www.google.com").size};s/n}

0

প্রচলিত পাতার মর্মর + + quicklisp / dexador , 23 + 72 = 95 বাইট

সিস্টেমে কুইললিপ ইনস্টল করা থাকলে এটি ডেক্সডোরকে নেসেসারি হিসাবে ডাউনলোড ও ইনস্টল করবে।

প্রস্তাবনা:

(ql:quickload :dexador)

কোড

(lambda(n)(/(loop :repeat n :sum(length(dex:get"http://google.com")))n))

Ungolfed:

(lambda (n)
  (/ (loop :repeat n 
           :sum (length (dex:get "http://google.com")))
     n))

Explaination

(dex:get "http://google.com")

এটি গুগলে ওয়েব অনুরোধটি সম্পাদন করে এবং পাঁচটি মান প্রদান করে:

  1. ওয়েব নিজেকে স্ট্রিং বা বাইট অ্যারের হিসাবে অনুরোধ করেছে (সামগ্রীর ধরণের উপর নির্ভর করে)
  2. HTTP স্থিতি কোড
  3. HTTP প্রতিক্রিয়া শিরোনামগুলির একটি হ্যাশ মানচিত্র
  4. পুনর্নির্দেশগুলি সমাধানের পরে চূড়ান্ত ইউআরআই প্রতিনিধিত্বকারী একটি কিউআরআই অবজেক্ট
  5. সকেটটি ওয়েব সার্ভারের সাথে যোগাযোগের জন্য ব্যবহৃত হত (যদি এটি সার্ভার দ্বারা বন্ধ না করা হয় বা কোনও ফাংশনটিতে arচ্ছিক আরগগুলি থাকে)

(length (dex:get ...))

যদি আপনি অন্যথায় স্পষ্টতা অনুরোধ না করেন, সাধারণ লিস্প প্রথমটি ব্যতীত সমস্ত রিটার্ন মানগুলি বাতিল করে দেবে, সুতরাং দৈর্ঘ্যের ফাংশনটি কেবলমাত্র http প্রতিক্রিয়াটি নিজেই দেখে এবং এই স্ট্রিংটির দৈর্ঘ্য প্রদান করে।

(loop :repeat n :sum (length ...))

এটি প্রতিক্রিয়ার দৈর্ঘ্য n বার গণনা করে এবং সেগুলি যুক্ত করে।

(/ (loop ...) n)

এটি গড় গুণতে দৈর্ঘ্যগুলিকে n গণনা করতে ভাগ করে।

(lambda (n) ...)

এটি কোনও বেনামি ফাংশনে কোডের শিরোনামকে আবৃত করে যা এনটিকে একটি আর্গুমেন্ট হিসাবে গ্রহণ করে এবং n ওয়েব অনুরোধের জন্য গড় প্রতিক্রিয়ার দৈর্ঘ্য http://google.com এ প্রদান করে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.