এটি কি ইমোজি?


17

আমি এই আইওএস অ্যাপটিতে সম্প্রতি কাজ করছি এবং আমি একটি (বরং সহজেই সমাধান করা) সমস্যার মুখোমুখি হয়েছি: আমার স্ট্রিংটি কেবল ইমোজিস নিয়ে গঠিত কিনা তা আমি কীভাবে নির্ধারণ করব?

আচ্ছা, আজ আপনার কাজ!

ইনপুট

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

আউটপুট

ইনপুট স্ট্রিংয়ে কেবল ইমোজিস থাকে এবং একটি ইমোজিস ব্যতীত অন্য কোনও অক্ষর থাকে তবে একটি মিথ্যা মান প্রিন্ট করুন বা সত্যবাদী মানটি ফিরিয়ে দিন।

এক সেকেন্ড অপেক্ষা করুন ... ইমোজি কি? 😅

ইমোজি এমন একটি চরিত্র যা এই সীমার মধ্যে পড়ে:

0x1F600...0x1F64F  // Emoticons
0x1F300...0x1F5FF  // Misc Symbols and Pictographs
0x1F680...0x1F6FF  // Transport and Map
0x2600...0x26FF    // Misc symbols
0x2700...0x27BF    // Dingbats
0xFE00...0xFE0F    // Variation Selectors

(আমি মনে করি)

এটি 🔹 🔹, তাই বাইট উইনসের মধ্যে সংক্ষিপ্ততম কোড ❕

পরীক্ষার মামলা

"Is it an emoji? 🤔" -> False
"🔹code-golf🔹" -> False
"😮 😥 😨 😩 😪" -> False
"I have no fancy emojis :(" -> False

"😎" -> True
"😊😘" -> True

আপনার জন্য দরিদ্র আত্মারা যারা ইমোজিগুলি দেখতে পারেন না, এখানে পরীক্ষার মামলার চিত্র রয়েছে


2
যারা ইমোজিস দেখতে পাচ্ছেন না তাদের জন্য সম্ভবত একটি সংস্করণ (সম্ভবত কোনও চিত্র) অন্তর্ভুক্ত করুন? ;-)
ইটিএইচ প্রোডাকশনগুলি

@ ইথ প্রডাকশনস, আপনি কি পরামর্শ দিচ্ছেন যে আমি পরীক্ষার কেসগুলির একটি ফটো বা অন্য কিছু লিঙ্ক করব?
ড্যানিয়েল

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

@ এইচটি প্রোডাকশনস, আমি পরীক্ষার মামলার একটি ফটোতে একটি লিঙ্ক যুক্ত করেছি
ড্যানিয়েল

ইনপুট কি ইউনিকোড কোড পয়েন্টের একটি সংখ্যার অ্যারে হতে পারে? এছাড়াও, ইনপুটটিতে কতগুলি অক্ষর / সংখ্যা থাকতে পারে?
লুইস মেন্ডো

উত্তর:


2

রুবি , 61 56 + 1 = 62 57 47 বাইট

-nপতাকা ব্যবহার করে এবং STDIN থেকে ইনপুট নেয়। ছাপে 0truthy এবং nilfalsy জন্য।

-5 বাইট কারণ কোনও কারণে আমি প্রাথমিকভাবে ভেবেছিলাম রেজেক্স সমাধানটি কাজ করবে না ???

নিডজেজেকোব থেকে -10 বাইট কোড পয়েন্ট ওভারল্যাপটি লক্ষ্য করে যা আমি মিস করেছি: ও

p$_=~/^[🌀-🙏🚀-🛿☀-➿︀-︀️]*$/

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


1
47 টি বাইটস আপনি যদি রেজিজেসে দুটি ব্যাপ্তি একত্রিত করেন।
নিডজেজেকোব

1
47 তাই না?
আসোন তুহিদ

হ্যাঁ আমি @ নিডজেজেকোব-এর পরামর্শ পাওয়ার পরে স্কোরটি আপডেট করতে ভুলে গেছি
মান ইঙ্ক

10

ইমোজিকোড , 179 বাইট

🍇a🍨🐚🚂➡🚂🔂n🍡a🍇🍊🎉🎉◀n 9728🎊▶n 10175◀n 65024🎉🎉🎊▶n 65039◀n 127744🎊▶n 128591◀n 128640▶n 128767🍇🍎0🍉🍉🍎1🍉

একটি কলযোগ্য যা কোডপয়েন্টগুলিকে উপস্থাপন করে পূর্ণসংখ্যার একটি তালিকা নেয় এবং 1 বা 0 প্রদান করে।

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

ইমোজিকোড , 187 বাইট

🍇a🔡➡👌🔂i🍡a🍇🍦n🚂i🍊🎉🎉◀n 9728🎊▶n 10175◀n 65024🎉🎉🎊▶n 65039◀n 127744🎊▶n 128591◀n 128640▶n 128767🍇🍎👎🍉🍉🍎👍🍉

একটি কলযোগ্য যা একটি স্ট্রিং নেয় এবং বুলিয়ান দেয়।

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

অবহেলিত এবং ব্যাখ্যা

👴 A callable that takes a 🔡 called input and returns a 👌
🍇 input 🔡 ➡ 👌
 👴 For each character in input
 🔂 character 🍡 input 🍇
  👴 Create a frozen called n containing the unicode codepoint of character
  🍦 n 🚂 character
  👴 If the value is in one of specific ranges, return 👎 (if the current character is not an emoji)
  🍊🎉🎉◀n 9728🎊▶n 10175◀n 65024🎉🎉🎊▶n 65039◀n 127744🎊▶n 128591◀n 128640▶n 128767🍇
   🍎 👎
  🍉
 🍉
 👴 Since we're here, all characters are an emoji, so return 👍
 🍎👍
🍉

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


1

জাভাস্ক্রিপ্ট, 83 61 বাইট

-২২ বাইট @ শাগগিকে ধন্যবাদ

s=>(s.match(/\ud83d[\ude00-\ude4f]/g)||"").length==s.length/2

ডেমো

f=s=>(s.match(/\ud83d[\ude00-\ude4f]/g)||"").length==s.length/2

document.writeln(f("🔹code-golf🔹")) //false
document.writeln(f("😮 😥 😨 😩 😪")) //false
document.writeln(f("I have no fancy emojis :(")) //false
document.writeln(f("😎")) //true
document.writeln(f("😊😘")) //true


1
61 বাইট:s=>(s.match(/\ud83d[\ude00-\ude4f]/g)||"").length==s.length/2
শেগি

আহ, এই কাজ করে? রেজেক্স কোনও
ইমোজিটির

@ নিডজেজেকোব আমি বিশ্বাস করি জেএস ইউনিকোডের জন্য ইউটিএফ -১ 16 ব্যবহার করে, সুতরাং আমার ধারণা এইগুলি এই কোডেপয়েন্টগুলির ইউটিএফ -১ by বাইট উপস্থাপনা। উত্তর অসম্পূর্ণ যদিও এটির জন্য ব্যর্থ হয়, 🛂🚀, ♔☺☠, 🏐🎅🌝, ইত্যাদি সব যা truthy হওয়া উচিত। ওপি যে ছয়টি উল্লেখ করেছে তার মধ্যে কেবল একটি রেঞ্জের জন্য এটি পরীক্ষা করে দেখা যাচ্ছে।
সূন্দর - মনিকা পুনরায় ইনস্টল করুন

1

পাইথন, 87 বাইট

lambda x:re.match('^[😀-🙏🌀-🗿🚀-🛿☀-➿︀-︀️]*$',x)and 1
import re

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

রিটার্নস 1truthy মান হিসাবে এবং Nonefalsy মান হিসাবে।


আমি আপনার
রেজেক্সকে

যেহেতু আমি মান কালিটিকে এ সম্পর্কে বলেছি, আমি 🌀-🙏
আপনাকেও বলব

1

প্রোটন , 54 বাইট

map(/[🌀-🙏🚀-🛿☀-➿︀-︀️]/.match)+all

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

-9 বাইট (3 অক্ষর) NieDzejkob ধন্যবাদ

"Orrowণ গ্রহণ" ইউরিলের রেজেেক্স: পি প্রোটনের অস্পষ্ট বৈশিষ্ট্য এবং রেজেক্স আক্ষরিকের জন্য এটি সংক্ষিপ্ত ধন্যবাদ


আমি যেমন ভ্যালু 🌀-🙏
ইঙ্ককে বলেছি

@ নিডজেজেকোব ঠিক কীভাবে? এটি আমাকে ত্রুটি দেয়: tio.run/##KyjKL8nP@59m@z83sUBDP/rD/BkNuh/mT9//Yf4sEGP2/…
হাইপারনিউটারিনো

এটি পছন্দ করুন
NieDzejkob

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