পার্স আমার এস্পেরান্তো!


21

বিখ্যাত নির্মিত ভাষা এস্পেরান্তো লাতিন বর্ণমালা ব্যবহার করে (বেশিরভাগ ক্ষেত্রে, বিশদটির জন্য লিঙ্কযুক্ত উইকিপিডিয়া পৃষ্ঠাটি দেখুন)। : তবে কথা কিছু অক্ষর সি, g, h, জে, এস, এবং তুমি । (সি-সারফ্লেক্স, জি-সারফ্লেক্স, এইচ-সারফ্লেক্স, জে-সারফ্লেক্স, এস-সারফ্লেক্স এবং ইউ- ব্রিভ ) স্বাভাবিকভাবেই, এই চরিত্রগুলি টাইপ করা খুব শক্ত। এমনকি এই প্রশ্নের জন্য, আমাকে অক্ষরগুলির জন্য ইউনিকোড নির্বাচককে অনুসন্ধান করতে হয়েছিল। এই কারণে, "x" অক্ষরটি ব্যবহার করে একটি সম্মেলন বৈদ্যুতিন ব্যবহারের জন্য তৈরি করা হয়েছে। উদাহরণস্বরূপ, "cxu" "ĉu" এর জন্য ব্যবহৃত হয়। (দ্রষ্টব্য: "x" অক্ষরটি এস্পেরান্তো বর্ণমালায় সাধারণত ব্যবহৃত হয় না ""

তবে, আমি একজন ভাষা বিশুদ্ধবাদী! এই * এয়ার কোট * এক্স বাজে কথা আমাকে মেরে ফেলছে! এটি ঠিক করার জন্য আমার একটি প্রোগ্রামের প্রয়োজন, যতটা সম্ভব সংক্ষিপ্ততর আমি এটি যত তাড়াতাড়ি আমার টার্মিনালে টাইপ করতে পারি!

চ্যালেঞ্জ

আপনার মিশনটি হল এক্স-কনভেনশন ব্যবহার করে এস্পেরান্তোর একটি স্ট্রিং নেওয়া এবং এটিকে আসল এস্পেরান্তোতে রূপান্তর করা।

কার্যকরভাবে, আপনাকে মানচিত্র করতে হবে:

cx: ĉ
gx: ĝ
hx: ĥ
jx: ĵ
sx: ŝ
ux: ŭ
Cx: Ĉ
Gx: Ĝ
Hx: Ĥ
Jx: Ĵ
Sx: Ŝ
Ux: Ŭ

অন্যান্য সমস্ত মুদ্রণযোগ্য ASCII অক্ষর গ্রহণ করা উচিত এবং পরিবর্তন করা উচিত নয়। ইউনিকোডটি চমৎকার হবে তবে প্রয়োজনীয় নয়।

ইনপুট এবং আউটপুট আপনার ভাষার পক্ষে যেকোন বিন্যাসে যুক্তিযুক্ত হতে পারে। শুভকামনা!

Testcases

"input" : "output"
_____________
"gxi estas varma" : "ĝi estas varma"
"Cxu sxi sxatas katojn aux hundojn?" : "Ĉu ŝi ŝatas katojn aŭ hundojn?"
"Uxcxsxabcd(hxSx)efg{};" : "Ŭĉŝabcd(ĥŜ)efg{};"
"qwertyuiop" : "qwertyuiop"
" " : " "
"" : ""
"x" : "x"
"xc" : "xc"
"xcx" : "xĉ"
"cxx" : "ĉx"

স্কোরিং

এটি । ভাষাগুলির ডিফল্ট এনকোডিংয়ের মধ্যে ছোট ছোট বাইকাউন্টের মাধ্যমে উত্তরগুলি দেওয়া হয়।

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes

শুভকামনা, মজা করুন এবং উন্নতির পরামর্শ দিতে নির্দ্বিধায়!

ব্যাখ্যা:

  • আপনাকে কেবল মুদ্রণযোগ্য এএসসিআইআই অক্ষর সম্পর্কেই চিন্তা করতে হবে ।

  • আপনাকে কেবল এমন একটি অক্ষর আউটপুট করতে হবে যা সঠিক আউটপুট মত দেখাচ্ছে । হ্যাঁ, এর অর্থ আপনি স্ট্যান্ডার্ড চরিত্রটিতে অ্যাকসেন্টটি টেক করতে পারেন।


ASCII এর অর্থ 20-7E মুদ্রণযোগ্য অক্ষর, 00-7F, বা কী?
ব্যবহারকারী 202729

সমস্ত মুদ্রণযোগ্য।
OldBunny2800

দ্রষ্টব্য: আমি একটি স্পেসিফিকেশন যোগ করেছি যে আপনি চিঠিটি এবং সংশোধক অ্যাকসেন্টটি ব্যবহার করতে পারেন।
OldBunny2800

5
সারফ্লেক্সের ̂সংমিশ্রণ 0302 এ এবং ব্রিভের সংমিশ্রণ 0306 এ ̆
ব্যবহারকারী 202729

^ প্রত্যেকে ইউটিএফ 8 এ টিআইও গণনা হিসাবে 2 বাইট নেয় ।
ব্যবহারকারী 202729

উত্তর:


9

কোয়াডআর , 65 বাইট

.x
3::⍵M'ĉĝĥĵŝŭĈĜĤĴŜŬ'['cghjsuCGHJSU'⍳⊃⍵M]

এটি অনলাইন চেষ্টা করুন!

.x "x" এর সাথে প্রদত্ত যে কোনও চরটি প্রতিস্থাপন করুন

3::⍵M ইনডেক্সিং ত্রুটির পরে, ম্যাচটি আনমোডিংয়ে ফিরে আসার
 চেষ্টা করুন:
'ĉĝĥĵŝŭĈĜĤĴŜŬ'[... ] এই স্ট্রিংয়ের সাথে
  ⍵M ম্যাচের
   প্রথম অক্ষরের
   সূচকের
  'cghjsuCGHJSU' সাথে এই স্ট্রিংটিতে সূচক

এটি ডায়ালগ এপিএল সারণী ফাংশনের সমতুল্য:

'.x'R{3::⍵.Match'ĉĝĥĵŝŭĈĜĤĴŜŬ'['cghjsuCGHJSU'⍳⊃⍵.Match]}

চমৎকার উত্তর! +1
ওল্ডবুনি 2800

আমি নিশ্চিত না যে এখানে কীভাবে বাইট গণনা করা হয়। ⎕R এর সোজা ব্যবহার কি সংক্ষিপ্ত নয়? ('cghjsuCGHJSU',¨'x')⎕r(,¨'ĉĝĥĵŝŭĈĜĤĴŜŬ')
এনজিএন

@ জিএনএন এটি, তবে আমার এটি পোস্ট করার সুযোগ পাওয়ার আগে আমার ব্যাটারি ফুরিয়েছে।
অ্যাডম

6

রেটিনা , 27 বাইট

iT`x`̂`[cghjs]x
iT`x`̆`ux

এটি অনলাইন চেষ্টা করুন!

এই প্রোগ্রামটি দুটি প্রতিলিপি দ্বারা রচিত। কোডটিতে অক্ষরগুলির সংমিশ্রণের কারণে এটি খুব ভালভাবে রেন্ডার হয় না, প্রথম লাইনের প্রকৃতপক্ষে অনুরূপ হওয়া উচিত iT`x`^`[cghjs]x, যেখানে ^সারফ্লেক্স অ্যাকসেন্টের সমন্বয়কারী চরিত্রের জন্য দাঁড়ানো। এই বলছে এটি উচিত Transliterate ( ignoring ক্ষেত্রে) সমস্ত xএকটি মধ্যে ইনপুটে গুলি ^, যখনই তারা কোনো চিঠি অনুসরণ করছেন [cghjs]


দ্রষ্টব্য: টিআইও এই কোডটি ভুলভাবে 25 বাইট হিসাবে পরিমাপ করে। প্রকৃতপক্ষে, এই রেটিনা প্রোগ্রামটি ইউটিএফ -8 এনকোডিং ব্যবহার করে (অন্যান্য প্রোগ্রামগুলি ইউটিএফ -32 বা আইএসও 8859-1 ব্যবহার করতে পারে) এবং দুটি সংমিশ্রিত অক্ষরের উপস্থিতি প্রতি 2 বাইট ব্যয় করে।


5

সি,  173  154 বাইট

17 বাইট বাঁচানোর জন্য @ কলেরা সুকে ধন্যবাদ!

p,c,i;f(char*s){for(char*l="cghjsuCGHJSU";p=*s;~c&&putchar(p))for(c=*++s,i=0;c=='x'&&l[i];++i)l[i]-p||write(1,"ĉĝĥĵŝŭĈĜĤĴŜŬ"+i*2,2,c=-1,++s);}

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

p,c,i;
f(char*s)
{
    // The outer loop and an array of characters that are modified by a trailing 'x'.
    // The array/string is used for getting the index for the accented character later.
    for (char*l="cghjsuCGHJSU";

                                // Store the current character of the input string in 'p'.
                                // If it is '\0', the loop terminates.
                                p=*s;

                                      // The last statement in the loop.
                                      // If 'c==-1', it outputs the char stored in 'p'. 
                                      ~c&&putchar(p))

        // Store the character following 'p' in 'c' and increment the string pointer.
        for(c=*++s, i=0;

                        // If 'c' is not the letter 'x', the inner loop terminates
                        // immediately. Otherwise it loops through the characters of
                        // string 'l'.
                        c=='x'&&l[i]; ++i)

            // If the character stored in 'p' is found inside the string 'l'...
            l[i]-p ||

                      // ...then print the accented character corresponding to 'p'.
                      // 'i' is the index of 'p' in 'l', and, because the characters
                      // with accents are two bytes each, the index is multiplied by 2.
                      write(1,"ĉĝĥĵŝŭĈĜĤĴŜŬ"+i*2,2,

                      // Finally set 'c' to -1 so that the non-accented character doesn't
                      // get printed too, and increment the string pointer so that the
                      // letter 'x' doesn't get printed either.
                                                    c=-1, ++s);
}

নিস! অনুগ্রহ করে আমার কি একটা ব্যাখ্যা পাওয়া যাবে?
OldBunny2800

সম্ভবত আপনি এর পরিবর্তে আক্ষরিক নাল বাইট ব্যবহার করতে পারেন \0?
ব্যবহারকারী 202729

(তবে দুর্ভাগ্যক্রমে
টিআইওতে

আপনি write(1,"..."+i*2,2)17 বাইট সংরক্ষণ করতে ব্যবহার করতে পারেন । এটি অনলাইন চেষ্টা করুন!
কোলেরা সু

5

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

lambda s,T="cĉgĝhĥjĵsŝuŭ":eval("s"+".replace('%sx',%r)"*12%(*T+T.upper(),))

এটি অনলাইন চেষ্টা করুন!

স্ট্রিং উত্পন্ন এবং মূল্যায়ন করে:

s.replace('cx','ĉ').replace('gx','ĝ').replace('hx','ĥ').replace('jx','ĵ').replace('sx','ŝ').replace('ux','ŭ').replace('Cx','Ĉ').replace('Gx','Ĝ').replace('Hx','Ĥ').replace('Jx','Ĵ').replace('Sx','Ŝ').replace('Ux','Ŭ')

এরিক আউটগলফার একটি বাইট সংরক্ষণ করলেন।


@ এরিকথ আউটগলফার ভাল লাগল, ধন্যবাদ!
xnor

3

/// , 75 বাইট

/,/\/\///>/x\,/c>ĉ,g>ĝ,h>ĥ,j>ĵ,s>ŝ,u>ŭ,C>Ĉ,G>Ĝ,H>Ĥ,J>Ĵ,S>Ŝ,U>Ŭ/

দ্রষ্টব্য: যেহেতু ওপি অনুরোধটি সমস্ত মুদ্রণযোগ্য অক্ষরগুলি অবশ্যই প্রক্রিয়া করা উচিত, আমার নির্বাচিত "বিশেষ অক্ষরগুলি" মুদ্রণযোগ্য হবে না। সুতরাং আমি তার পরিবর্তে ট্যাব এবং নিউলাইনটি বেছে নিয়েছি, যা আমার বাইকোয়েন্ট বা কোড কার্যকারিতা পরিবর্তন করে না। কোডটি দেখতে এমন হবে:

/
/\/\/// /x\
/c  ĉ
g   ĝ
h   ĥ
j   ĵ
s   ŝ
u   ŭ
C   Ĉ
G   Ĝ
H   Ĥ
J   Ĵ
S   Ŝ
U   Ŭ/

তবে এর জন্য ইনপুটটির প্রয়োজন অবশ্যই ট্যাব বা নিউলাইনগুলি থাকা উচিত নয়।

এটি অনলাইন চেষ্টা করুন!

কারণ ///ইনপুট নিতে পারবেন না, আপনি কোড পর ইনপুট করা উচিত নয়।

অনেকটাই অকপট. আমার ধারণা এটি সংক্ষিপ্ত হতে পারে না কারণ ///প্রতিটি চরিত্রের বিশেষ পরিচালনা করার প্রয়োজন need

ব্যাখ্যা:

/,/\/\//       Replace all `,` in the code by `//`
               (two slashes are represented as two backslash-ed slashes)
/>/x\,         (in original code) becomes
/>/x\//        (because `,` is replaced by `//`) - replace all occurence of 
               `>` by `x/`.
/cx/ĉ//gx/ĝ//hx/ĥ//jx/ĵ//sx/ŝ//ux/ŭ//Cx/Ĉ//Gx/Ĝ//Hx/Ĥ//Jx/Ĵ//Sx/Ŝ//Ux/Ŭ/
               ^ The remaining part of the code should look like this.
               Straightforward replacement.

3

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

f=lambda x,v="cĉgĝhĥjĵsŝuŭCĈGĜHĤJĴSŜUŬ":v and f(x.replace(v[0]+"x",v[1]),v[2:])or x

এটি অনলাইন চেষ্টা করুন!

-10 বাইট হোয়াটটোডো
-1 বাইট ধন্যবাদ কলেরা সুকে ধন্যবাদ



@ ব্যবহারকারী 507295 ওহ স্মার্ট ধারণা। ধন্যবাদ!
হাইপারনিউট্রিনো

একটি বাইট সংরক্ষণ করার জন্য এবং-বা কৌশল: অনলাইনে চেষ্টা করে দেখুন!
কোলেরা সু

@ কলেরাশু ওহ দুর্দান্ত, ধন্যবাদ কেন সেই কৌশলটি অদৃশ্য হয়ে গেল তা নিশ্চিত নন:
হাইপারনিউটারিনো

@ হাইপারনিউটারিনো কারণ আমি সেই কৌশল সম্পর্কে জানি না। দুঃখিত!
হোয়াটডো



1

জাভাস্ক্রিপ্ট (ES6), 92 বাইট

s=>[..."cghjsuCGHJSU"].reduce((a,v,i)=>a.split(v+"x").join("ĉĝĥĵŝŭĈĜĤĴŜŬ"[i]),s)

এটি অনলাইন চেষ্টা করুন!

বাইট সংখ্যা কমাতে এখানে বিভক্ত-যোগ পদ্ধতি ব্যবহার করার পরামর্শ দেওয়া হয়েছে কারণ new RegExp(/*blah*/)নির্মাণকারীর অনেক বেশি বাইট রয়েছে।

তুলনা:

Original: a.replace(new RegExp(v+"x", "g"), "ĉĝĥĵŝŭĈĜĤĴŜŬ"[i])
New     : a.split(v+"x").join("ĉĝĥĵŝŭĈĜĤĴŜŬ"[i])

সংক্ষিপ্ত, অ্যাকসেন্ট পদ্ধতির সংমিশ্রণ (by৩ বাইট), তবে কিছু শিল্পকর্ম দৃশ্যমান।

s=>s.replace(/([cghjs])x/gi," ̂$1").replace(/(u)x/gi," ̌$1");

পাদটীকা: আমি আমার উত্তরটি 92 বাইট দাবি করছি কারণ -৩-বাইট সমাধানটিতে এমন নিদর্শন রয়েছে যা আউটপুটকে প্রভাবিত করতে পারে।


1

এপিএল (ডায়ালগ ইউনিকোড) , 57 বাইট

অজ্ঞাতনামা রীতিনীতি:

  1. স্ট্রিং-এ প্রিফিক্স ফাংশন। এটি স্ট্রিং লিপ্যন্তরেখা।

  2. স্ট্রিংগুলির তালিকাতে উপসর্গ ফাংশন। এটি স্ট্রিং লিপ্যন্তরেখা।

  3. ডান আর্গুমেন্ট হিসাবে ইনপুট ফাইল টাই সংখ্যা এবং বাম আর্গুমেন্ট হিসাবে আউটপুট ফাইল টাই সংখ্যা সহ ইনফিক্স ফাংশন। এটি ইনপুট ফাইলের অনুলিপি করা সামগ্রী সহ আউটপুট ফাইলকে পপুলেট করে।

('cghjsuCGHJSU',¨'x')⎕R(,¨'ĉĝĥĵŝŭĈĜĤĴŜŬ')

(... )⎕R(... ) PCRE আর eplace

'cghjsuCGHJSU' এই চিঠিগুলি

,¨'x' প্রতিটি একটি এক্স দ্বারা অনুসরণ করা

 … সঙ্গে…

,¨'ĉĝĥĵŝŭĈĜĤĴŜŬ' এই অক্ষরের প্রতিটি স্ট্রিং হিসাবে

এটি অনলাইন চেষ্টা করুন!


1

জে , 64 63 বাইট

rplc((_2]\'ĉĝĥĵŝŭĈĜĤĴŜŬ');~"1'cghjsuCGHJSU',.'x')"0

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

সঙ্গে _2]\আমি নতুন করে সাজানো STRING 'ĉĝĥĵŝŭĈĜĤĴŜŬ' একটি 12-সারি কলাম মধ্যে যাতে অন্য স্ট্রিং এর আকৃতি মাপসই হবে।

,. 'cghjsuCGHJSU' স্ট্রিংয়ের প্রতিটি অক্ষরে 'x' যুক্ত করে একটি 12 সারি 2 কলাম দ্বারা অ্যারে তৈরি করে

;~"1' উপরের বক্সযুক্ত জোড়গুলির একটি তালিকা তৈরি করে "1 - 1 নম্বর - প্রতিটি সারিতে প্রয়োগ করুন।

┌──┬──┐
│cx│ĉ │
├──┼──┤
│gx│ĝ │
├──┼──┤
│hx│ĥ │
├──┼──┤
│jx│ĵ │
├──┼──┤
│sx│ŝ │
├──┼──┤
│ux│ŭ │
├──┼──┤
│Cx│Ĉ │
├──┼──┤
│Gx│Ĝ │
├──┼──┤
│Hx│Ĥ │
├──┼──┤
│Jx│Ĵ │
├──┼──┤
│Sx│Ŝ │
├──┼──┤
│Ux│Ŭ │
└──┴──┘

rplc এই বক্সযুক্ত আইটেমগুলি বাম বক্সের আইটেমের প্রতিটি ঘটনাকে ডানদিকের সাথে জোড়া থেকে প্রতিস্থাপন করতে ব্যবহার করে।

এটি অনলাইন চেষ্টা করুন!


1

বেফুঞ্জ , 2x48 +1 = 99 বাইট

>~:1+!#@_:"x"-v>$ 11p0"cghjsuCGHJSU"1\ >\31p11g-v
^ # #, : ++$\ _^#1"x"0*4!-"u"g11*"ʊ"!\_^#!:\*g13<

এটি ব্যবহার করে দেখুন (টিআইও বেফুঞ্জ সম্পর্কে অত্যন্ত অদ্ভুত এবং আমি এতে কাজ করার জন্য আমার কোনও সমাধান পেতে পারি নি)

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

>~:1+!@_

এটি শেষ হলে ইনপুট এবং পরীক্ষা করে। প্রোগ্রাম শেষ হলে।

          "x"-v>
^ # #, : ++$\ _^

অক্ষরটি "এক্স" কিনা তা পরীক্ষা করে। যদি তা না হয় তবে চরিত্রের একটি অনুলিপি রেখে মুদ্রণ করুন।

               >$ 11p0"cghjsuCGHJSU"1\

(1,1) এ শেষ অক্ষর সংরক্ষণ করুন। সমস্ত অক্ষর স্ট্যাক চেক করতে রাখে।

                                       >\31p11g-v
                                      _^#!:\*g13<

স্ট্যাকের সমস্ত মানের সাথে শেষ চরিত্রের তুলনা করুন।

                 1"x"0*4!-"u"g11*"ʊ"!\

চেক (0 বা 1) কে ʊ (ইউনিকোড মান 650) দিয়ে গুণ করুন। চরিত্রটি আউ (ব্রিভের জন্য) ছিল কিনা তা পরীক্ষা করে দেখুন এবং যদি তা থাকে তবে স্ট্যাকটিতে 4 যোগ করুন। অবশেষে, পাশাপাশি এক্স (100) এর আসকি মান যুক্ত করুন। মোট প্রয়োজন হলে সঠিক অ্যাকসেন্ট যোগ করে বা একটি "এক্স" না হলে যোগ করে।

>~:1+!#@_  
^ # #, : ++$\ _^#

এক সাথে স্ট্যাকের সমস্ত মান যুক্ত করুন, এটি মুদ্রণ করুন এবং একটি সদৃশ রাখুন। পরবর্তী ইনপুট জন্য ফিরে যান।


1

আর , 75 70 বাইট

function(s)gsub('([cghjs])x','\\1\U302',gsub('(u)x','\\1\U306',s,T),T)

এটি অনলাইন চেষ্টা করুন!

-5 বাইট জিউসেপ্পিকে ধন্যবাদ

ব্যাখ্যা

  • gsub('(u)x','\\1\U306',s,T): sবড় হাতের বা ছোট হাতের অক্ষর "ইউ" এর প্রতিটি ঘটনায় প্রতিস্থাপন করুন (ব্যবহার করেignore.case=TRUE চতুর্থ আর্গুমেন্টের মাধ্যমেT ) তারপরে একটি "x" "ইউ" এর পরে ইউনিকোডের জন্য একটি ব্রিভের জন্য অনুসরণ করুন
  • gsub('([cghjs])x','\\1\U302',gsub('(u)x','\\1\U306',s,T),T): এর ফলাফলটি গ্রহণ করুন এবং বড় হাতের বা ছোট হাতের প্রতিটি ঘটনাকে প্রতিস্থাপন করুন ( ignore.case=TRUEচতুর্থ যুক্তির মাধ্যমে T) "গ", "জি", "এইচ", "জ", বা "এস" এর পরে "এক্স" চিঠিটি তারপরে ইউনিকোড দ্বারা প্রদত্ত একটি সারফ্লেক্সের জন্য

নামকরণ চেয়ে যুক্তি অর্ডার ব্যবহার বরং 3 বাইট সংরক্ষণ, এবং অন্য দুই শূন্য পরিত্রাণ \U0302এবং \U0306: এটি অনলাইন ব্যবহার করে দেখুন!
জিউসেপে

@ জিউসেপ - দুর্দান্ত ধারণা, ধন্যবাদ!
ডাকমায়ার

1

কোয়াডআর , 25 বাইট

ডায়াক্রিটিক্স সংস্করণের সংমিশ্রণ।

ux
([cghjs])x
 ̆&
 ̂\1

i পতাকা

এটি অনলাইন চেষ্টা করুন!

প্রতিস্থাপন করুন ...

(u)x         u followed by x and
([cghjs])x   any of these letters followed by x 
 ̆\1          by a breve followed by the first group (the u) and
 ̂\1          a circumflex followed by the first group (the letter)

কেস আমি সংবেদনশীলভাবে

নিম্নলিখিত ডায়ালগ এপিএল কোডের সমতুল্য:

'(u)x' '([cghjs])x'R' ̆\1' ' ̂\1'

কেন এই 28 এবং 24 বাইট না?
এরিক দি আউটগল্ফার

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

হু, এখন দেখে মনে হচ্ছে এটি 27 বাইট (টিআইও থেকে অনুলিপি করা হয়েছে), তবে এখান থেকে অনুলিপি করা হওয়ার পরে 24 বাইট রয়েছে । কোয়াডআরের এনকোডিং কী এবং কোনটি সঠিক?
এরিক দি আউটগল্ফার

উভয় লিঙ্ক আমার এফএফকিউ / উইন 10-তে 24 টি রিপোর্ট করেছেন কোয়াডআর ডায়ালগ ক্লাসিক বা যে কোনও ইউনিকোড ব্যবহার করে।
অ্যাডম

সুতরাং এটি 24 বাইট বা কি?
এরিক দি আউটগল্ফার

1

সি, 145 144 বাইট

অন্য সি পদ্ধতির। সারফ্লেক্স / ব্রিভটি 2 বাইট হয় তা ব্যবহার করে ইনপুটটি ওভাররাইট করে ফিরে আসুন।

-1 বাইটস স্টেডিবক্সকে ধন্যবাদ ।

i,t;f(char*s){for(t=1;*s;s++)if(*s^'x')for(i=12,t=1;i--;)t="cghjsuCGHJSU"[i]-*s?t:i*2;else t^1&&memcpy(s-1,"ĉĝĥĵŝŭĈĜĤĴŜŬ"+t,2),t=1;}

এটি অনলাইন চেষ্টা করুন!


1
t^1&&memcpy(s-1,"ĉĝĥĵŝŭĈĜĤĴŜŬ"+t,2),t=1;পরিবর্তে ব্যবহার t^1?memcpy(s-1,"ĉĝĥĵŝŭĈĜĤĴŜŬ"+t,2),t=1:0;করে একটি বাইট সংরক্ষণ করে। এটি অনলাইন চেষ্টা করুন!
স্টেডিবক্স

1

গণিত, 81 বাইট বা 57 বাইট

StringReplace[RemoveDiacritics@#<>"x"->#&/@Characters@"ĉĝĥĵŝŭĈĜĤĴŜŬ"]

এটি একটি প্রতিস্থাপনের নিয়ম প্রয়োগ করে যেখানে টুপি ব্যতীত একটি "x" অক্ষর দ্বারা প্রতিস্থাপিত হয়।

যুক্ত অ্যাকসেন্ট চরিত্রটি ব্যবহার করে এখানে একটি বিকল্প রয়েছে: StringReplace[{"ux"->"ŭ","Ux"->"Ŭ",c_~~"x":>c<>"̂"}]


1

7 টি বাইট সংরক্ষণ করতে পারে:s/[CGHJScghjs]\Kx/\x{0302}/g;s/[Uu]\Kx/\x{0306}/g
নাহুয়েল ফুইলুল

দেখে মনে হচ্ছে এটি সতর্কবার্তা ( ) এর সাথে -Cএবং ছাড়াও কাজ করে-CWide character in print
নাহুয়েল ফিউইলুল

1
পার্লারুন থেকে-C on its own (not followed by any number or option list), or the empty string "" for the PERL_UNICODE environment variable, has the same effect as -CSDL.
নাহুয়েল ফিউইলুল

0

সিজেম , 51 বাইট

q"ĉĝĥĵŝŭĈĜĤĴŜŬ""cghjsuCGHJSU".{'x+@\/*}

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

q                   Read input
"ĉĝĥĵŝŭĈĜĤĴŜŬ"      String literal
"cghjsuCGHJSU"      Another string literal
.{                  Iterate over the strings in parallel
  'x+                 Add an 'x to the normal character
  @                   Rotate to bring the input to the top of stack
  \                   Swap to bring the "cx" to the top
  /                   Split the input on instances of "cx"
  *                   Join the input on instances of the accented character
}

এটি কি সত্যিই 39 বাইট? আমি 39 টি অক্ষর গণনা করেছি এবং আমি মনে করি না সিজেমের একটি বিশেষ এনকোডিং রয়েছে।
ব্যবহারকারী 202729

@ ব্যবহারকারী 202729 পরিবর্তন হয়েছে (টিআইও কোনও কারণে অক্ষর হিসাবে বাইট গণনা করা হয়েছে)
Esolanging ফল

কারণ টিআইও বিশ্বাস করে যে সমস্ত গল্ফিং ভাষার বিশেষ চরিত্রের কোডেপেজ রয়েছে এবং এটি সমস্ত অক্ষর সঠিক কোডেজে রয়েছে কিনা তা পরীক্ষা করে নেওয়া বিরক্ত করে না।
ব্যবহারকারী 202729

0

সেড, 108 বাইট

s/cx/ĉ/g
s/gx/ĝ/g
s/hx/ĥ/g
s/jx/ĵ/g
s/sx/ŝ/g
s/ux/ŭ/g
s/Cx/Ĉ/g
s/Gx/Ĝ/g
s/Hx/Ĥ/g
s/Jx/Ĵ/g
s/Sx/Ŝ/g
s/Ux/Ŭ/g

আপনি এটির কোড হিসেবে কোড ফরম্যাট করা উচিত `...`বা <pre><code>...</code></pre>বা 4 ইনডেন্ট।
ব্যবহারকারী 202729

@ user202729 আমি স্পষ্টতই এটি জানতাম। আমি আমার অ্যান্ড্রয়েড ফোন থেকে জমা দিচ্ছিলাম তাই আমি এটি সঠিকভাবে ফর্ম্যাট করি নি।
iBug

2
দেখে মনে হচ্ছে এটি 119 বাইট দীর্ঘ।
এরিক দি আউটগল্ফার

0

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

এটি 54 টি অক্ষর এবং পাওয়ারশেলের ISE এ এটি সংরক্ষণ করে এটি 58 বাইটের জন্য ইউটিএফ -8 + বিওএম করে তোলে । এটি কোনও ব্রাউজারে দুর্দান্তভাবে রেন্ডার করে না:

$args-replace'(?<=u)x','̆'-replace'(?<=[cghjs])x','̂'

@ ব্যবহারকারী202729 এর মন্তব্য থেকে ইউজিকোড অক্ষরগুলির সংমিশ্রণে রেজিএক্স x কে প্রতিস্থাপন করবে।

যেমন

PS C:\> .\eo.ps1 "Cxu vi sxatas la cxapelliterojn? Mi ankaux."
Ĉu vi ŝatas la ĉapelliterojn? Mi ankaŭ.

0

ক্লোজার, 126 115 বাইট

-11 বাইট প্রতিস্থাপন মানচিত্র একটি স্ট্রিংয়ের একটি পার্টিশনে পরিবর্তন করে।

#(reduce(fn[a[f r]](clojure.string/replace a(str f\x)(str r)))%(partition 2"cĉgĝhĥjĵsŝuŭCĈGĜHĤJĴSŜUŬ")) 

প্রতিস্থাপনের মানচিত্রের সন্ধানের জন্য এবং কীগুলি সেগুলি প্রতিস্থাপন করতে হবে তার উপর একটি হ্রাস।

প্রতিস্থাপনের মানচিত্রটি সংকুচিত করার জন্য এখনও একটি পথে কাজ চলছে।

(defn translate [^String esperanto]
  (reduce (fn [acc [f r]] (clojure.string/replace
                            acc ; Replace the translation so far by
                            (str f \x) ; adding a x after each character, search for it in the string,
                            (str r))) ; and replace it with a stringified accented char

          esperanto ; Before the reduction happens, the accumulator is the original string

          ; A list of [char-to-find what-to-replace-with] pairs
          (partition 2"cĉgĝhĥjĵsŝuŭCĈGĜHĤJĴSŜUŬ")))))


0

স্কালা , 110 বাইট

বিরক্তিকর রেজেক্স সমাধান:

def?(s:String)="(.)x".r.replaceAllIn(s,m=>m.group(0)(0)+(if(m.group(0)(0).toUpper=='U')"\u0306"else"\u0302"))

পুরাতন স্কাল দ্রবণ (116 বাইট)

def?(s:String)=s.foldLeft("")((r,c)=>if(c=='x')r.init+r.last+(if(r.last.toUpper=='U')"\u0306"else"\u0302")else r+c)

Ungolfed

def?(s:String)=
  s.foldLeft("")((r,c)=>  // 'Fold' string with empty string as first result
    if(c=='x')            // If current character is x
      r.init+             // Take the every character from result but the last
        r.last+           // The last character from result and add
          (if(r.last.toUpper=='U')
            "\u0306"      // combining breve if 'u' or 'U'
          else"\u0302")   // combining circumflex in any other case
 else r+c                 // Otherwise return result + character
)

0

জাভাস্ক্রিপ্ট, 35 টি অক্ষর, 36 বাইট

s=>s.replace(/([cghjsu])x/gi,"$1̂")

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