অস্পষ্টতার একটি ক্রিস্টোমাথি


11

আপনার একটি ভাষায় চারটি কাজ শেষ করা উচিত যা:

  • এই (কোডগল্ফ.সি) ওয়েবসাইটে অনুসন্ধানের সময় অবশ্যই কোনও ফলাফল অবশ্যই ফেরত দিতে হবে না, উদাহরণস্বরূপ টফিস্ক্রিপ্ট ;
  • এসোলাং , রোসেটা কোড বা উইকিপিডিয়ায় অবশ্যই একটি পৃষ্ঠা তালিকাবদ্ধ থাকতে হবে ;
  • স্বতন্ত্র সংস্করণের পরিবর্তে একটি স্বতন্ত্র ভাষা হতে হবে (উদাহরণস্বরূপ পাইথন ২.১ বৈধ হবে যদি অজগর প্রথম দুটি মানদণ্ডকে সন্তুষ্ট করে)।

টফিস্ক্রিপ্টের জন্য হিট হওয়া ব্যতিক্রম।

আপনার চারটি কাজ শেষ করা উচিত:

1) আপনার পছন্দসই ভাষার একটি টুইটযোগ্য (<140 অক্ষর) বর্ণনা / প্রচার লিখুন।

2) "হ্যালো ওয়ার্ল্ড! এটিতে লেখা আছে" মুদ্রণ করুন <programming language name>

3) একটি ব্যবহারকারী নির্দিষ্ট পরিসরে সমস্ত বিজোড় সংখ্যা মুদ্রণ করুন। (যেমন একটি স্টিডিন 20 25ফিরে আসা উচিত 21 23 25)।

৪) এমন একটি প্রোগ্রাম লিখুন যা আপনি আপনার চয়ন করা ভাষার একটি আকর্ষণীয় বৈশিষ্ট্যটি সবচেয়ে ভাল দেখায়।

স্কোরিং:

  • এটি একটি জনপ্রিয়তা প্রতিযোগিতা
  • উপরোক্ত দুটি ডিরেক্টরিতে তালিকাভুক্ত হলে 10 পয়েন্টের বোনাস, তিনটি ক্ষেত্রে 25 হলে।
  • স্কোর হ'ল জুলাই 1 2015 এ মধ্যরাত ইউটিসি-তে প্রাপ্ত ভোটের সংমিশ্রণ, বোনাসগুলি।

ব্যাখ্যা:

  • টাস্ক 1) একটি টুইটযোগ্য প্রোগ্রাম হতে পারে তবে সাধারণ পাঠ্যটি গ্রহণযোগ্য।
  • অনেক ভাষার একটি বিদ্যমান দোভাষী নেই; এগুলির সমাধানগুলি ভাল, তবে ভাল বিশ্বাসে নেওয়া হবে।
  • ভাষা পছন্দের জন্য দ্বিতীয় মানদণ্ড এমন পৃষ্ঠাগুলিকে নিষেধ করে যাঁর তৈরির পোস্টটি পোস্টের পরে। যদি কোনও প্রদত্ত ভাষার জন্য এক্স, কোনও সমস্যা সমাধানের সমাধান রোসেটা কোডে উপস্থিত থাকে তবে এটির নিজস্ব কোনও পৃথক পৃষ্ঠা না থাকলেও এটি গ্রহণযোগ্য।

4
আপনি প্রোগ্রামারদের সাথে কথা বলছেন, আপনাকে বলার দরকার নেই and/or;)
আন্ডারগ্রাউন্ডোমোনাইল

2
"অবশ্যই কোনও ফলাফল ফিরিয়ে আনতে হবে না" আক্ষরিকভাবে নেওয়া উচিত? উদাহরণস্বরূপ , " সোম " জন্য একটি ফলাফল আছে , কিন্তু অবশ্যই উত্তর হিসাবে একই মন্ড না । এটি ফলাফল হিসাবে গণনা করা হয়?
manatwork

2
আপনার সম্ভবত বলা উচিত যে এই চ্যালেঞ্জের আগে এসোলাংস, রোসেটা কোড বা উইকিপিডিয়ায় থাকা পৃষ্ঠাগুলি অবশ্যই বিদ্যমান ছিল।
মার্টিন ইন্ডার

1
আপনি কি স্পষ্ট করে বলতে পারবেন যে টাস্ক 1 এর জন্য একটি 140 চরিত্রের প্রোগ্রাম দরকার যা একটি বিবরণ দেয়, বা কেবল একটি 140 চরিত্রের বিবরণ (যা কোনও প্রোগ্রাম নয়)?
ট্রিকোপল্যাক্স

1
আমি এখানে উত্থাপিত পয়েন্টগুলি স্পষ্ট করে দিয়েছি (কমপক্ষে আমি আশা করি আমার কাছে আছে!)
কাইরান হান্ট

উত্তর:


6

BlooP

বোনাস: 10

Esolangs এবং উইকিপিডিয়াতে ব্লুপ এর জন্য পৃষ্ঠা রয়েছে । ব্লুপের জন্য পিপিসিজি অনুসন্ধান কোনও ফলাফল দেয় না। যদি আপনি বিশেষত লুপী বোধ করেন তবে repl.it এ চেষ্টা করে দেখতে পারেন ।


টাস্ক 1: টুইট

ব্লুপ: সীমাবদ্ধ লুপগুলি ছাড়া আর কিছুই নয়। ;) # প্রোগ্রাম # গুডটাইম

এটি হ্যাশট্যাগ এবং ইমোটিকন সহ স্ট্যান্ডার্ড টুইটার স্টাইলিং ব্যবহার করে। এটি যে কোনও টুইটার ব্যবহারকারীর কাছে আবেদন করবে *


টাস্ক 2: হ্যালো ওয়ার্ল্ড

DEFINE PROCEDURE ''GREETING'' [N]:
BLOCK 0: BEGIN
  PRINT['Hello World! This is written in BlooP.']
BLOCK 0: END.

GREETING[0];

আপনি দেখতে পাচ্ছেন, এটি একটি প্রধান গল্ফ ভাষা *


কার্য 3: অদ্ভুত সংখ্যা

DEFINE PROCEDURE ''IS-ODD'' [N]:
BLOCK 0: BEGIN
  OUTPUT <= 0;
  CELL(0) <= 2;
  LOOP AT MOST N+1 TIMES:
  BLOCK 1: BEGIN
    IF N+1 = CELL(0), THEN:
    BLOCK 2: BEGIN
      OUTPUT <= 1;
      ABORT LOOP 1;
    BLOCK 2: END;
    CELL(0) <= CELL(0) + 2
  BLOCK 1: END;
BLOCK 0: END.

DEFINE PROCEDURE ''ODDS-IN-RANGE'' [A,B]:
BLOCK 0: BEGIN
  CELL(0) = A;
  LOOP AT MOST B TIMES:
  BLOCK 1: BEGIN
    IF CELL(0) > B, THEN:
    ABORT LOOP 1;
    IF IS-ODD[CELL(0)] = 1, THEN:
    PRINT[CELL(0)];
    CELL(0) <= CELL(0) + 1;
  BLOCK 1: END;
BLOCK 0: END.

ODDS-IN-RANGE[20,25];

ব্লুপ-এ কেবলমাত্র উপলব্ধ অপারেটর হ'ল অ্যাসাইনমেন্ট ( <=), সংযোজন, গুণ, এর চেয়ে বড়, কম, এবং সমান। এটির বেদনাদায়ক ভার্বোজ সিনট্যাক্সের কারণে, ভাষার গভীর উপলব্ধি না করেও কী চলছে তা বলা প্রকৃত পক্ষে খুব সহজ।


কাজ 4: আকর্ষণীয়

দ্রষ্টব্য: এই কাজের জন্য আমার স্নিপেটটি পরিবর্তন সাপেক্ষে যদি আমি আরও মজার কিছু নিয়ে আসি।

DEFINE PROCEDURE ''MINUS'' [M,N]:
BLOCK 0: BEGIN
  IF M < N, THEN:
  QUIT BLOCK 0;
  LOOP AT MOST M + 1 TIMES:
  BLOCK 1: BEGIN
    IF OUTPUT + N = M, THEN:
    ABORT LOOP 1;
    OUTPUT <= OUTPUT + 1;
  BLOCK 1: END;
BLOCK 0: END.

DEFINE PROCEDURE ''FIB''[N]:
BLOCK 0: BEGIN
  IF N < 1, THEN:
  QUIT BLOCK 0;
  OUTPUT <= 1;
  IF N < 3, THEN:
  QUIT BLOCK 0;
  OUTPUT <= FIB[MINUS[N,1]] + FIB[MINUS[N,2]];
BLOCK 0: END.

FIB[10];

দেখুন, ফিবোনাচি সংখ্যাগুলি।


* সত্য হতে পারে না


5

মন্ড *

  • * 'মন্ড' অনুসন্ধানের ফলে একটি ফলাফল পাওয়া যায় (এই উত্তর সত্ত্বেও) তবে এটি একটি মিথ্যা ইতিবাচক এবং আসলে ভাষার উল্লেখ করে না।
  • রোসটা কোড পৃষ্ঠা । এটি আসলে চ্যালেঞ্জ পোস্ট হওয়ার পরে তৈরি হয়েছিল, তবে কুইকসোর্ট কাজের একটি সমাধান সেপ্টেম্বর ২০১৪ সাল থেকে বিদ্যমান।
  • যদিও সোমটি জাভাস্ক্রিপ্টের সাথে খুব একই রকম দেখাচ্ছে (প্রকৃতপক্ষে, এটি মন্ড / জেএস বহুভক্তগুলি লেখার পক্ষে সহজ), এটি কোনও উপসেট, সুপারসেট বা পুনরায় বাস্তবায়ন নয়। এটি নিজস্ব স্বতন্ত্র ভাষা is

এটি আপনার ব্রাউজারে চেষ্টা করুন

সম্পূর্ণ প্রকাশ : আমি মন্ডের উন্নয়ন ও নকশা প্রক্রিয়াটির সাথে এক ডিগ্রীতে জড়িত রয়েছি এবং ব্যবহারকারীর দ্বারা সংজ্ঞায়িত অপারেটরগুলি সহ বেশ কয়েকটি বড় ভাষার বৈশিষ্ট্যগুলি ব্যক্তিগতভাবে প্রয়োগ করেছি যা কার্য 3 এবং 4 এ প্রদর্শিত হয়।

কার্যক্রম 1

পাইপলাইন অপারেটর ( |>) সিনট্যাক্স চিনির সাহায্যে প্রথম আর্গুমেন্ট হিসাবে sertedোকানো বাম-হাতের মান সহ ডান-হাতের ফাংশন কলকে ফাংশন কলে রূপান্তর করে। foo |> bar()হিসাবে একই bar( foo )

"Simple, elegant scripting language implemented in C# for .NET/Mono" |> printLn();

কার্য # 2

"Hello World! This is written in Mond." |> printLn();

কার্য # 3

এই টাস্কের কোডটি কয়েকটি জিনিস ধরে নিয়েছে:

  1. সংখ্যার ব্যাপ্তি একটি এক লাইনে প্রবেশ করা হবে
  2. উপরের এবং নিম্ন সীমাগুলি একটি একক স্থান দ্বারা পৃথক করা হবে
  3. প্রদত্ত সংখ্যাগুলি বেস -10 এ পূর্ণসংখ্যা এবং কেবল অক্ষরগুলি অন্তর্ভুক্ত করে 0-9

এখানে চেষ্টা করুন

// parse a string to a number
fun toNumber( str ) {
    var n = 0, pow = str.length();

    for( var i = 0; i < str.length(); ++i )
        n += ( str.charCodeAt( i ) - 48 ) * ( 10 ** --pow );

    return n;
}

fun map( arr, fn ) {
    var ret = [ ];

    foreach( var item in arr )
        fn( item ) |> ret.add();

    return ret;
}

// user-defined operator to create an upper-bound inclusive range a-la Ruby
// (i.e. 1 .. 5 produces [ 1, 2, 3, 4, 5 ])
seq( .. )( start, end ) {
    for( var i = start; i <= end; ++i )
        yield i;
}

// read a line from STDIN, trim leading and trailing whitespace,
// split the string to an array, map the array to parse all strings to numbers.
var nums = readLn().trim().split( " " ) |> map( toNumber );

// nums[0] .. nums[1] makes use of the user-defined operator declared on line 22.
// nums[0] is the lower bound, nums[0] is the upper bound.
foreach( var n in nums[0] .. nums[1] ) {
    if( n % 2 != 0 ) printLn( n );
}

কার্য # 4

এই টাস্কটি ব্যবহারকারী-সংজ্ঞায়িত অপারেটরগুলি প্রদর্শন করে , যা প্রোগ্রামারকে কোনও ফাংশনের মতো কোনও স্বেচ্ছাসেবক অপারেটর (যতক্ষণ না এটি ইতিমধ্যে বিদ্যমান না হয়) সংজ্ঞায়িত করতে দেয় এবং এটি অন্য কোনও অপারেটরের মতো ব্যবহার করে। তারা unary এবং বাইনারি স্বাদে আসে।

এখানে চেষ্টা করুন

// forward function compositing user-defined operator.
// the function on the right-hand side is called with
// the result of the function on the left-hand side.
fun( >>> )( fn1, fn2 ) {
    return fun( ...args ) {
        return fn1( ...args ) |> fn2();
    };
}

// the mythical "goes down to" operator of legend.
// a lazy sequence that returns all numbers starting from 'hi'
// down to (and including) 'lo'
seq( --> )( hi, lo ) {
    for( var i = hi; i >= lo; --i )
        yield i;
}

seq map( iterable, callback ) {
    foreach( var item in iterable )
        yield item |> callback();
}

// doubles the value of n
fun double( n ) -> n *  2;

// squares the value of n (** is the power operator, a-la Python or Ruby)
fun square( n ) -> n ** 2;

// gets the sequence for 10 down to 0, passes it into
// map, which maps it through the composited function of
// double and square, which first doubles the given value
// then squares it.
var nums = ( 10 --> 0 ) |> map( double >>> square );

foreach( var n in nums )
    printLn( n );

4
এটি কেবল রোসটা কোডে তালিকাভুক্ত রয়েছে, এটি কীভাবে 25 পিসি বোনাস পাবেন?
স্কিমোনস্টার

@ স্কিমোনস্টার স্কোরিং বোনাস সম্পর্কে আমার ব্যাখ্যাটি হল ভাষাটির 0 টি অনুসন্ধান ফলাফল থাকা দরকার, এর একটিতে তালিকাভুক্ত করা উচিত: রোসটা কোড, এসোলাং বা উইকিপিডিয়া এবং 25 টি পয়েন্টের জন্য যোগ্যতার জন্য আলাদা একটি ভাষা হতে হবে। যদি আমি ভুল হয়ে থাকি এবং একমাত্র মানদণ্ডটি হ'ল এতে অবশ্যই রোজটা কোড, এসোলাং এবং উইকিপিডিয়ায় পৃষ্ঠা থাকতে হবে , আমি সেই অনুসারে সম্পাদনা করব।
টনি এলিস

না, আপনি তালিকাভুক্ত 3 টি জিনিস হ'ল চ্যালেঞ্জের ক্ষেত্রে একেবারেই অনুমোদিত হওয়ার মাপদণ্ড। এটি যদি 10 পয়েন্ট বোনাসের জন্য যোগ্য হয় তবে যদি বলা হয়, উইকিপিডিয়া এবং রোসেটা কোড উভয়ই এটি তালিকাবদ্ধ করে। 25 পয়েন্টের বোনাসটি যদি তা রোজেটা, এসোলাং এবং উইকিপিডিয়ায় হয়।
স্কিমোনস্টার

@ স্কিমোনস্টার আমি দেখতে পাচ্ছি, আমার ভুল আমি আমার উত্তর আপডেট করেছি।
টনি এলিস

4

jq

কোনটিই 14 ফলাফল codegolf.se উপর ভাষা সম্পর্কে। ( jq(এবং বড় হাতের রূপগুলি পাইথের মধ্যে প্রায়শই বিবৃতি বলে মনে হয়))

নেই মণ্ডলে Rosetta- কোড উপর jq বিভাগ

আপনি এটি অনলাইনে চেষ্টা করতে পারেন তবে নীচের কয়েকটি উদাহরণের সর্বশেষতম 1.5 সংস্করণ প্রয়োজন।

টাস্ক 1: টুইট

জেকিউ জেএসএনের পক্ষে সেডের মতো; আপনি কাঠামোগত ডেটা প্রক্রিয়া করতে এটি ব্যবহার করতে পারেন একই উপায়ে সেড, অ্যাজ, গ্রেপ এবং বন্ধুরা আপনাকে পাঠ্য সহ খেলতে দেয়

(নির্লজ্জভাবে এটির সাইট থেকে প্রথম অনুচ্ছেদটি দ্ব্যর্থযুক্ত))

টাস্ক 2: হ্যালো ওয়ার্ল্ড

bash-4.3$ jq -n -r '"Hello World! This is written in jq."'
Hello World! This is written in jq.

কার্য 3: অদ্ভুত সংখ্যা

bash-4.3$ jq -R 'split(" ") | range(.[0] | tonumber; .[1] | tonumber + 1) | select(. % 2 == 1)' <<< '20 25'
21
23
25

কাজ 4: আকর্ষণীয়

ইনস্টল করা ফায়ারফক্স এক্সটেনশান সম্পর্কিত তথ্য সম্বলিত ~ / .mozilla / ফায়ারফক্স / *। ডিফল্ট / এক্সটেনশনস.জসন ফাইলের জেএসএন ডেটাতে 171 কেবিতে 0 টি নতুন লাইন রয়েছে, যা এটি কোনওভাবে পড়তে অসুবিধে করে।

জেএসএন ডেটা প্রিন্ট করুন:

bash-4.3$ jq '' ~/.mozilla/firefox/*.default/extensions.json

ডোহ। 8000 ++ লাইনগুলি খুব দীর্ঘ, সুতরাং এটি পেজারে দিন, তবে হাইলাইট করুন:

bash-4.3$ jq -C '' ~/.mozilla/firefox/*.default/extensions.json | less -r

সেকি। যাইহোক কতগুলি এক্সটেনশন আছে?

bash-4.3$ jq '.addons | length' ~/.mozilla/firefox/*.default/extensions.json
58

ঠিক আছে, তবে তাদের মধ্যে কিছু অক্ষম। ঠিক কতজন?

bash-4.3$ jq '[.addons[] | select(.active | not)] | length' ~/.mozilla/firefox/*.default/extensions.json
7

তাদের মধ্যে বেশিরভাগ পরিত্যক্ত এবং বর্তমান ফায়ারফক্সের সাথে কাজ করছে না:

bash-4.3$ jq -r '.addons[] | [.defaultLocale.name, (.targetApplications[] | select(.id == "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"))] | select(.[1].maxVersion | gsub("[^\\d.]"; "") | tonumber < 38.0) | .[0]' ~/.mozilla/firefox/*.default/extensions.json
Unity Desktop Integration
Unity Websites integration
Ubuntu Firefox Modifications

(এটি পরে সত্য নয় some কিছু কারণে এক্সটেনশানস.জেএসএস-এ এক্সটেনশনের ইনস্টল.আরডিএফের তুলনায় অন্যান্য সংস্করণ সীমা রয়েছে j তবে এটি আর যাইহোকের দোষ নয়))


4

ooc

হ্যাঁ, আমি প্রায় এক মাস দেরি করছি। তাতে কি???

কার্যক্রম 1

ওওসি একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ যা C99 তে সংকলন করে যার মার্জিত সিনট্যাক্স রয়েছে এবং উচ্চ এবং নিম্ন স্তরের উভয় বিকাশকে সমর্থন করে।

135 বাইট! ওইটা কাছাকাছি ছিল!

এছাড়াও, ওওকে এর অত্যন্ত শীতল ASCII- আর্ট লোগো জন্য জাল বোনাস পয়েন্ট :

           +(NNhBBhss+'                  ~+'(sNBND=~.         
           -(=NDhNN+=+=' .   .  .    . .+='+~DNND+=.          
           .+-DBDDh+(D-<'      .....  -<+ (=~DNh+<(           
            '+<NNNB=~=z-(<-<<(+('-'~<<=- .+'sBNh~+            
             (~=NNND+=DB~(-.    . .    ...(=BNB+s--      ALL YOUR 
             .=-=DBDz-'~. .   ..'. .... '  '~s<<szh<.         
               <(~'. .  .  ..sD='-~'-'-DDs.. . .~sD(     CODEBASE  
            . ~+'  '  .-(-..sBNB~(~~+=hNNNz'<<z='-z(               
           . .=. -DDz<~s~  'BNNN=~+<shNNNND(sNNNh~(+    ARE BELONG
            .=<.(NNNNDDs. (hhs+=s=hNDNNBNBBs<BNND<<=.             
            .'-'~sNNs((- .''. ' -~NNDz+((~---~sB<'''.     TO US!
                '=(++(-..  . ...-~+B~'....'.''-+(     .             
                -=z<<'.. .'-...'-~hz~-'.''''-~-<=                     
                 .~+~s~  ~z<~'-'--hN=~((~'---(~~z~                    
                   (+<-.'+=''''~(+=Bz--~(((=+s+~(s                     
  IT'S OVER      . '+-..~<----~-+(sBNh+zBNNBNh+<z'                     
                   .<-'--''(<~=B=hDDD=<<<++=++<=.                   
  9000 BUGS!     .. s~..'h=++ss=D<<~+B(<(+<=Nz=+                     
                    +'.''+NNDN(+z(((sB<((s+hNh<+             
                   .= -~(~(zDNz+z+zhNDz=szhhBz++.       MADNESS?        
                   '+. ss<'~=NBNBBDzBzhshDD=+<<-                   
                   -= . +s~-(+==hhDBNBDDs==hz+<     THIS! IS! LLAMA!
                 '(<-  . '~~(<+<=+<sz=+sshzs(..               
                .+<.    '('-~(((((<++(<<((= .                 
                 .--.. ....'.'.'.'..''..'-..

টাস্ক 2

"Hello, world!" println()

কার্য 3

import text/StringTokenizer
import structs/ArrayList
input := stdin readLine() split(' ', false)
(begin, end) := (input[0] toInt(), input[1] toInt())
for (i in begin..end+1) {
    if (i % 2 != 0) { "%d " printf(i) }
}
println()

খুব সোজা বাস্তবায়ন। এছাড়াও, এটি ওওকের একটি আকর্ষণীয় দিক প্রদর্শন করে: পদ্ধতি কলগুলি স্পটগুলি ডিলিট নয়, ডিলিমিটার হিসাবে ব্যবহার করে। উদাহরণস্বরূপ, stdin readLine() split(' ', false)উপরে নোটিশ । বেশিরভাগ ভাষায়, এটি হিসাবে লেখা হবে stdin.readLine().split(' ', false), তবে কল চেইনের জন্য ওওক সংরক্ষণ করে (কোড উদাহরণে স্ক্রোল করুন)।

কার্য 3

এটি আমার প্রিয় ওওকে বৈশিষ্ট্যটি দেখায়: টাইপ ম্যাচিং। এটি প্যাটার্ন মিলের মতো। ওও ভাষায়। অসাধারণ.

import structs/ArrayList
import math/Random

Animal: abstract class {
    makeNoise: abstract func
}

Sheep: class extends Animal {
    init: func
    makeNoise: func {
        "Baaaaaaa!" println()
    }
}

Wolf: class extends Animal {
    init: func
    makeNoise: func {
        "Hooooowl!" println()
    }
}

animals := [Sheep new(), Sheep new(), Sheep new()] as ArrayList<Animal>
badNumber := Random randRange(0, 3)
animals[badNumber] = Wolf new()
animal: Animal

"Enter a number between 0 (inclusive) and 3 (exclusive)" println()
inputNumberString := stdin readLine()
for (chr in inputNumberString) {
    if (!(chr.digit?())) {
        "NUMBER, not CHARACTER! Can't you read!?" println()
        exit(1)
    }
}
inputNumber := inputNumberString toInt()
try {
    animal = animals[inputNumber]
} catch (e: OutOfBoundsException) {
    "I said a number between one and three, you idiot!" println()
    exit(1)
}
"Animal noise:" println()
animal makeNoise()
match (animal) {
    case sheep: Sheep => { "It's a stupid, annoying sheep!" println() }
    case wolf: Wolf => { "AHH! A WOLF! You got eaten. :/ R.I.P." println() }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.