বিড়ালছানা কমান্ড


65

একটি বিড়ালছানা অনেকটা বিড়ালের মতো। প্রধান পার্থক্যগুলির কয়েকটি হ'ল নির্ভুলতা, বুদ্ধিমানের অভাব এবং আকার। একইভাবে catকমান্ডটি কমান্ড থেকে পৃথক kitten। ভাগ্যক্রমে, এক্ষেত্রে একটি পার্থক্য রয়েছে। বিড়ালছানা কমান্ডে সমস্ত বড় হাতের অক্ষর ছোট হাতের অক্ষর দ্বারা প্রতিস্থাপন করা হয়।


উদ্দেশ্য

অনুরূপ আচরণ করে এমন একটি প্রোগ্রাম বাস্তবায়ন করা cat। সমস্ত অক্ষর [A-Z]আউটপুটযুক্ত ছোট হয়।


ইনপুট

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


আউটপুট

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

দ্রষ্টব্য: কেবলমাত্র অক্ষরগুলি [A-Z]ছোট ছোট করে নিন। অন্য কোনও অক্ষরকে ছোট হাতের অক্ষরে তৈরি করা হলে তা গ্রহণযোগ্য নয়।


উদাহরণ

$ echo "HelLo" > file.txt
$ kitten file.txt
hello
$ echo "Good Bye" | kitten
good bye
$ echo "Ä" | kitten
Ä

সাথে যথারীতি সর্বনিম্ন বাইটস জিতল।

লিডারবোর্ড


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

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

# 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


2
স্পষ্টভাবে "কেবলমাত্র অক্ষরগুলি [A-Z]ছোট হাতের অক্ষরে তৈরি করুন" উল্লেখ করে আপনি কী ইউনিকোড ইনপুটটির প্রত্যাশা করছেন?
অ্যাডমবর্কবার্ক

2
@ টিমিমিডি হ্যাঁ, তবে এটি মূলত লোকেটকে ফাংশনগুলিতে বিল্ট ইন ব্যবহার করা থেকে বিরত রাখা।
TheNumberOne


1
কীভাবে Ü, Ñএবং পছন্দগুলি?
মাস্ট

2
এটা তাই চমৎকার যখন আপনি কোন Pyth আদৌ codegolf করুন ... দেখতে পাচ্ছ
jmm

উত্তর:


52

পার্ল, 6 বাইট

5 বাইট কোড + 1 বাইট কমান্ড লাইন

$_=lc

ব্যবহারের উদাহরণ:

echo ABCdef | perl -p kitten.pl
abcdef

সঠিক ইউনিকোড আচরণের নিশ্চয়তা:

echo "HelloÉ" | perl -p kitten.pl
helloÉ

2
আপনি কি নিশ্চিত যে এটি ইউনিকোডের অক্ষরগুলিকে প্রভাবিত করে না?
মার্টিন এন্ডার

7
@ মার্টিনব্যাটনার এটি করেন না । আমরা এখানে "অন্যথায়" বিভাগে আছি: "ASCII বিধি কেস পরিবর্তনের জন্য ব্যবহৃত হয়। ASCII ব্যাপ্তির বাইরে যে কোনও অক্ষরের ছোট হাতের অক্ষর নিজেই। "উত্তরের জন্য আমার +1।
xebtl

178

বাশ, 19 বাইট

cat "$@"|tr A-Z a-z

বিড়ালছানা তৈরির সর্বোত্তম উপায় হ'ল আসল বিড়াল ব্যবহার করা।

উদাহরণ রান

$ ./kitten kitten
cat "$@"|tr a-z a-z

39
কাজের জন্য সঠিক সরঞ্জাম।
ডিজিটাল ট্রমা

120
একটি বিড়ালছানা তৈরি করতে শুধুমাত্র একটি বিড়াল প্রয়োজন জন্য +1, সর্বদা আমাকে দুটি বিড়াল লাগে
SnoringFrog

4
এখন এটি আমাকে সেই man womanরসিকতার কথা মনে করিয়ে দেয় …
xebtl

2
সন্তান তৈরির সঙ্গমের পদ্ধতির চেয়ে বিড়ালের ক্লোনিংয়ের জন্য যাওয়ার জন্য +1
এমডি-টেক

25
পুনঃটুইট করেছেন
TheNumberOne

22

পার্ল, 11 বাইট

10 বাইট কোড + 1 বাইট কমান্ড লাইন

y/A-Z/a-z/

ব্যবহারের উদাহরণ:

perl -p entry.pl input1.txt input2.txt
echo "ABCdef" | perl -p entry.pl


11

রুবি, 13 বাইট

বাইট গণনায় pপতাকাটির জন্য 1 বাইট অন্তর্ভুক্ত রয়েছে । তাই মত এটি চালানোর: ruby -p kitten.rb

$_.downcase!

স্ট্যান্ডিন বা ফাইল আর্গুমেন্ট থেকে ইনপুট নেয় ঠিক যেমন বড় হওয়া বিড়ালের মতো।


এটি কি কেবলমাত্র ASCII, বা অন্যান্য চরিত্রগুলিকে পছন্দ করে না Ä?
পাওলো ইবারম্যান

1
@ পাওলোএবারম্যান: আমি কেবল এটি পরীক্ষা করেছি: echo "HelloÉ" | ruby -p kitten.rb->helloÉ
নিল স্লেটার

আমি শপথ করছি এখানে গতকাল সম্পর্কে একটি সম্পূর্ণ গুচ্ছ মন্তব্য ছিল। আমি জানি না তারা কোথায় গেছে তবে: হ্যাঁ, এটি অনুমান অনুসারে কাজ করে।
দানিরো

5

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

function l([string]$a){97..122|%{[char]$b=$_;$a=$a-split$b-join$b};$a}if($args){$args|%{l(gc $_)}}else{l $input}

ভয়ঙ্করভাবে অপঠনযোগ্য। এখানে নীচে কিছুটা প্রসারিত সংস্করণ রয়েছে:

function l([string]$a){
  97..122|%{
    [char]$b=$_
    $a=$a-split$b-join$b
  }
  $a
}

if($args){
  $args|%{
    l(gc $_)
  }
}
else{
  l $input
}

একটি অভ্যন্তরীণ ফাংশন সংজ্ঞা দেয় lযা 97 থেকে 112 (যেমন, ASCII aথেকে ASCII z) পর্যন্ত একটি লুপের উপরে পুনরাবৃত্তি করে । ইনপুট স্ট্রিংটিকে সেই চরিত্রের (ay ইয়েস কেস-সংবেদনশীল ডিফল্ট) উপর বিভক্ত করে, এটি "সঠিক" লোয়ার কেসের সাথে আবার যোগদান করে। মনে রাখবেন যে হ্যাঁ, এর অর্থ "পরীক্ষা" সংক্ষেপে "T st" হয়ে উঠবে যেমন eউদাহরণস্বরূপ এটির মধ্য দিয়ে পুনরাবৃত্তি হয় । আউটপুট প্রভাবিত করে না।

দ্বিতীয়ার্ধটি আমাদের কাছে পাইপলাইন ইনপুট (পাওয়ারশেলের জন্য স্টিডিনের সমতুল্য) বা কমান্ড-লাইন ইনপুট রয়েছে কিনা তা নির্ধারণ করার জন্য জটিল বিট। $argsকমান্ড-লাইন ইনপুট উপস্থিত থাকলে বিশেষ ভেরিয়েবলটি উপস্থিত থাকে, সুতরাং আমরা প্রতিটিটির gcজন্য লুপ করব (এর জন্য Get-Content) এবং এটি পর্যন্ত স্কেলপ করব l। অন্যথায়, আমরা কেবল আমাদের $inputআপ স্কেলপ করব l। মনে রাখবেন যে আমরা আমাদের / অন্য বিবৃতিগুলি (যেমন, if($input)) অদলবদল করতে পারি , তবে যেহেতু "ইনপুট" এইভাবে "আরগস" এর চেয়ে একটি অক্ষর দীর্ঘ হয়।


@ নাজেক বিল্ট-ইন "String".ToLower()ইউনিকোড অক্ষরগুলিও ছোট করবে, এটি বিধিগুলির বিপরীতে। ইউনিকোডের সাথে পাওয়ারশেল সঠিকভাবে কাজ করে না এমন অনেকগুলি জিনিস রয়েছে, তবে দুর্ভাগ্যক্রমে এটি একটি উদাহরণ যা এটি সঠিকভাবে কাজ করে।
অ্যাডমবর্কবার্ক


5

আর, 97 বাইট

cat(chartr("A-Z","a-z",sapply(if(length(a<-commandArgs(T))){a}else{"stdin"},readLines)),sep="\n")

ব্যবহার:

$ echo "HeLlo" > file.txt
$ Rscript kitten.R file.txt
hello
$ echo "Good Bye" | Rscript kitten.R
good bye
$ echo "bLABLa" > file2.txt
$ Rscript kitten.R file.txt file2.txt
hello
blabla
$ echo Ä | Rscript kitten.R
Ä

5

কফিস্ক্রিপ্ট , 292 বাইট

f=require 'fs';d='';p=process;v=p.argv;s=p.stdin;l=((d)=>console.log d.replace /([A-Z])/g,(a,l)=>l.toLowerCase());if v.length>2 then(v.forEach (v,i)=>if i>1 then(f.exists v, (e) =>if e then(f.readFile v,'utf-8',(r,d)=>l d) else l v))else(s.resume();(s.on 'data',(c)=>d+=c);s.on 'end',()=>l d)

ব্যবহার:

$ echo "HelLo" > file.txt
$ coffee kitten.coffee file.txt
hello
$ echo "Good Bye" | coffee kitten.coffee
good bye
$ echo "Ä" | kitten
Ä
$ coffee kitten.coffee file.txt SoMeTeXt
sometext
hello

কোডগল্ফে আমার প্রথম অংশগ্রহণ তাই দয়া করে অভদ্রতা বোধ করবেন না :)।

নিশ্চিতভাবেই এই কোডটি আরও গল্ফ করা যেতে পারে এবং কফি / জাভাস্ক্রিপ্ট এটি করার পক্ষে সেরা পছন্দ নয়, তবে এটি প্রত্যাশিত যা করে।

এটি যখন আর্গুমেন্টগুলি পড়ে এটি ফাইলের অস্তিত্ব সম্পর্কেও যত্ন নেয় (যদি ফাইলটি উপস্থিত না থাকে তবে স্ট্রিংটি বিড়ালছানাযুক্ত))

এই কোড উন্নত করতে কোনও সহায়তা বা পরামর্শ স্বাগত!


4

জুলিয়া, 123 বাইট

f(s)=for l=readlines(s) print(replace(l,r"[A-Z]",lowercase))end
A=ARGS
length(A)>0?for i=A open(f,i)end:open(f,readline())

Ungolfed:

function file_to_lower(s::Stream)
    # Loop over the lines of the input stream
    for l in readlines(r)
        # Print the lowercased line
        print(replace(l, r"[A-Z]", lowercase))
    end
end

if length(ARGS) > 0
    # Loop over the files specified from the command line
    for i in ARGS
        # Open the file, apply the function, then close it
        open(file_to_lower, i)
    end
else
    # Get the input file from STDIN
    open(file_to_lower, readline())
end

4

সিজেম, 18 বাইট

ea_:gs{q}?'_,_eler

ফাইলগুলির তালিকা অবশ্যই ইউআরএল আকারে সরবরাহ করতে হবে, এটি সিজেএম একমাত্র ফর্ম্যাট understand

উদাহরণ রান

$ cjam kitten <<< "AaÁáÄä"
aaÁáÄä
$ cjam kitten file:///home/dennis/kitten file:///home/dennis/kitten
ea_:gs{q}?'_,_elerea_:gs{q}?'_,_eler

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

ea                  Push the array of command-line arguments.
  _                 Push a copy.
   :g               Retrieve the contents of all files with those URLS.
     s              Flatten the resulting array of strings.
      {q}           Push a block that reads all input from STDIN.
         ?          Select the string of the array of args is non-empty.
                    Otherwise, execute the code block.
          '_,       Push the string of all ASCII characters before _.
             _el    Push a copy and convert it to lowercase.
                er  Perform transliteration.

4

পাইথন 2, 100 102 97 বাইট

কার্যকারিতাটি সংশোধন করা হয়েছে (এবং 4 বাইট যোগ করা হয়েছে) ম্যাটসয়েস দ্বারা। ভাগ্যক্রমে, আমি পাইথন 2 এ স্যুইচ করে দুটি বাইট সংরক্ষণ করেছি।

from sys import*;print''.join(f.read().lower()for f in(map(open,argv[1:])if argv[1:]else[stdin]))

কমান্ড লাইন থেকে, বা কোনও আর্গুমেন্ট না পেলে STDIN থেকে আর্গুমেন্ট নেয়।

এটি কিছু ফাংশনের ডিফল্ট যুক্তিগুলিকে আপত্তিজনকভাবে ব্যবহার করে। ডিফল্টরূপে, openকেবল পঠনযোগ্য পাঠ্য মোড ব্যবহার করে, যা আমরা যা চাই ঠিক তাই। read, যদি কোনও যুক্তি ছাড়াই ডাকা হয়, প্রবাহের সমস্ত পাঠ্য ফিরিয়ে দেবে।

Ungolfed:

import sys

if len(sys.argv) > 1:              # If we have command-line arguments:
    source = []                    # Initialize an empty list
    for path in sys.argv[1:]:      # Iterate through every filename we have
        kitfile = open(path, 'rt') # Open the file in read-only text mode
        source.append(kitfile)     # Add it to the list
else:                              # Otherwise, if the args are empty:
    source = [sys.stdin]           # Set our source to STDIN wrapped in a list

kittened = []                      # Initialize an empty list
for kitfile in source:             # Iterate through every file (or just STDIN)
    text = kitfile.read()          # Read everything from the stream
    kitten_text = text.lower()     # Make it lowercase
    kittened.append(kitten_text)   # Add it to the list
final = ''.join(kittened)          # Join everything together
print final                        # Print the result

1
এটি স্টিডিনের পক্ষে কাজ করবে না, কারণ আপনি কেবল একটি লাইন পড়েছেন এবং এটি ছোট করবেন না।
মাতসয়জাইস

@matjoyce আমি আমার কোডটি ঠিক করেছি। অনুস্মারকটির জন্য ধন্যবাদ! দুর্ভাগ্যক্রমে, এটি চারটি বাইট যুক্ত করেছে, তবে আর inputমূল্যায়ন না করার উপর নির্ভর করে আমি পাইথন 2 এ যেতে পারি এবং বন্ধনীগুলি সরিয়ে ফেলতে পারি print
বকুল


3

সি, 106 108 বাইট

সম্পাদনা করুন: বাইটগুলি চেপে ধরার সময় এমন একটি ভুল সংশোধন করা হয়েছে যা ক্রাইপ হয়েছিল। স্টাডিন কাজ করছিল না, এখন তাই।

আমি নিশ্চিত যে আমি কিছু বাইট দূরে চেপে ধরতে পারি, তবে এখানে সহজেই উপলব্ধি করা যায়, কোনও ভাষা আপত্তিজনক, জমা দেওয়ার মতো নয়:

main(n,s,f,c)void**s;{for(f=n-1?open(*++s,0,0):0;read(f,&c,1);putchar(64<c&c<91?c+32:c));n-->2&&main(n,s);}

এবং পড়ার জন্য আরও কিছু ঝরঝরে বিন্যাসিত সংস্করণ:

main(n,s,f,c)
void**s;
{
    for(f=n-1?open(*++s,0,0):0; read(f,&c,1); putchar(64<c&c<91?c+32:c));
    n-->2&&main(n,s);
}

+1 কারণ এটি আমাকে শিখিয়েছে যে অন্তর্নিহিত ইনট প্যারামিটারগুলি কেবল কেএন্ডআর সিনট্যাক্সের মাধ্যমেই সম্ভব।
ফেলিক্স ডমবাক

2

গণিত, 66 বাইট

kit=StringReplace[#,x:RegularExpression["[A-Z]"]:>ToLowerCase[x]]&

হিসাবে ডাকা হয়

kit@"HelLo"

গণিতের ইতিমধ্যে একটি ToLowerCaseফাংশন রয়েছে তবে এটি বিশেষ (ইউনিকোড এবং গাণিতিক) চরিত্রগুলিকেও রূপান্তর করে। সুতরাং আমি এটি বিড়ালছানা ছিল। এই ফাংশনটি কোনও ইনপুট গ্রহণ করবে।


@ দি নাম্বারওন - এটি ম্যাথমেটিকায় কাজ করে। এটি করার জন্য আর কোনও কোডের দরকার নেই। আপনি যদি এক্সিকিউটেবল চান, তবে ম্যাথমেটিকা ​​টুল নয়।
ভার্বিয়া

এই সংযুক্ত ফাইলগুলি যার নাম কমান্ড-লাইন আর্গুমেন্ট হিসাবে প্রয়োজনীয় হিসাবে ইনপুট?
msh210

ম্যাথমেটিকায় কমান্ড-লাইন আরোগুলি নেই। এটি এর ফাংশন ইনপুটগুলিকে সঙ্কোচ করে। এছাড়াও আপনাকে কোনও ভেরিয়েবল বরাদ্দ করতে হবে না।
ক্যালকুলেটরফলাইন

2

সি #, 230 226 বাইট

namespace System{using Linq;class P{static void Main(string[]a){Console.Write(string.Concat((a.Length>0?string.Concat(a.Select(f=>IO.File.ReadAllText(f))):Console.In.ReadToEnd()).Select(c=>c>'@'&&c<'['?char.ToLower(c):c)));}}}

Ungolfed:

namespace System
{
    using Linq;
    class P
    {
        static void Main(string[] a)
        {
            Console.Write(                                                  // Print...
                string.Concat(                                                  // ...all chars combined to a string...
                    (a.Length > 0 ?                                             // ...commandline arguments?...
                        string.Concat(a.Select(f => IO.File.ReadAllText(f))) :  // ...then all files as single string...
                        Console.In.ReadToEnd()                                  // ...else STDIN input
                    ).Select(c => c > '@' && c < '[' ? char.ToLower(c) : c)     // ...Lowercase only A..Z
                )
            );  
        }
    }
}

2

হাস্কেল, 133

import System.Environment
main=getArgs>>=mapM_(>>=putStr.map l).f
f[]=[getContents]
f n=map readFile n
l x=[x..]!!sum[32|x>'@',x<'[']

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

ব্যাখ্যা l, একটি চরিত্র ছোট করার ফাংশন:

  • sum[32|condition]এর একটি সংক্ষিপ্ত রূপ if condition then 32 else 0
  • [x..]!!countহয় iterate succ x !! countহয় toEnum $ fromEnum x + countএবং ইম্পোর্ট ও ব্যবহার চেয়ে খাটো Data.Char.toLowerএকটি শর্ত দিয়ে হওয়া ASCII তা সীমিত করতে।
  • '@'এবং '['অবিলম্বে পূর্ববর্তী Aএবং অনুসরণ করা অক্ষরগুলি হ'ল Zযাতে আমি <পরিবর্তে ব্যবহার করতে পারি <=

sum[...|...]এবং [x..]!!কৌশলগুলি অবদান রাখার জন্য আন্ডারস ক্যাসরগকে ধন্যবাদ ।


1
l x=[x..]!!sum[32|x>'@',x<'[']
অ্যান্ডারস কাসের্গ

1

সি #, 342 বাইট

  • পাস আর্গুমেন্ট থেকে ফাইল তালিকা নেয়।
  • প্রতিটি ফাইলের প্রতিটি চর পড়ুন কেবল স্টুডে পাঠানোর চেয়ে যদি এ..জেডের মধ্যে থাকা অক্ষরটি কেবল ছোট কেসে রূপান্তরিত হয়।
  • এসটিডিআইএন পড়ার চেয়ে যদি কোনও ফাইলের তালিকা না থাকে, প্রতিটি চর পড়ে, ছোট্ট কেসে রূপান্তর করে যদি কেবলমাত্র..এইজেড সীমার অক্ষরটি এটি এসটিডিআউটে প্রেরণের চেয়ে পাঠায়।
namespace System{
using IO;
using Linq;
class P{
static void Main(string[]a){
Action<char>e=C=>{var c=char.ToLower(C);Console.Out.Write(c>='a'&&c<='z'?c:C);};
if(a.Length>0)a.ToList().ForEach(f=>File.ReadAllText(f).ToCharArray().ToList().ForEach(e));
else 
while(true) Console.In.ReadLine().ToCharArray().ToList().ForEach(e);
}
}
}

সি #, 319 বাইট

একক-রেখাযুক্ত, উপরের মতো:

namespace System{using IO;using Linq;class P{static void Main(string[]a){Action<char>e=C=>{var c=char.ToLower(C);Console.Out.Write(c>='a'&&c<='z'?c:C);};if(a.Length>0)a.ToList().ForEach(f=>File.ReadAllText(f).ToCharArray().ToList().ForEach(e));else while(true)Console.In.ReadLine().ToCharArray().ToList().ForEach(e);}}}

1

SILOS 179 টি অক্ষর

loadLine :
a = 256
x = get a
lbla
X = x
B = x
C = 91
B - 64
if B c
printChar x
GOTO x
lblc
C - x
if C D
printChar x
GOTO x
lblD
x + 32
printChar x
lblx
a + 1
x = get a
if x a
lblb

নির্দ্বিধায় এই কোড অনলাইনে পরখ করে দেখুন!


মূলত এটি pusedocode এ অনুবাদ করে।

String input = input();
for(char c in input)
if(c is uppercase) print c + 32/*lowercase c*/else print c

0

সি, 91 বাইট

#include <stdio.h>
main(){int c;while(EOF!=(c=getc(stdin))){c=tolower(c);putc(c,stdout);}}

সি, 98 বাইট

#include <stdio.h>
main(){int c;while(EOF!=(c=getc(stdin))){if(c>64&&c<91)c+=32;putc(c,stdout);}}

যদিও পাঠযোগ্যতা বাইট কাউন্টের চেয়েও বেশি মেটারে একই লজিকটি নীচে লেখা হয়েছে:

#include <stdio.h>
main()
{
int c;
        while (EOF != (c = getc(stdin))) {
                if ((c >= 'A') && ((c <= 'Z')))
                        c = (c - 'A') + 'a';
                putc(c,stdout);
        }
}

এটি প্রথম পরীক্ষার ক্ষেত্রে ব্যর্থ।
TheNumberOne

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

0

সেড, 14 বাইট

s/[A-Z]/\L\0/g

সাথে চালাও env -i sed -f kitten.sed


1
যেহেতু এটি বলার এক অভিনব উপায় LANG=C sed -f kitten.sed, আমি এটির জন্য অ্যাকাউন্টে অর্থদণ্ডের আবেদন করা উচিত কিনা তা সম্পর্কে আমি নিশ্চিত নই। এই প্রশ্নটি প্রোগ্রাম কলগুলি কীভাবে গণনা করবে তা নির্দিষ্ট করে না এবং এটি মেটাতে সম্বোধিত বলে মনে হয় না।
এঞ্জেল

এই সংযুক্ত ফাইলগুলি যার নাম কমান্ড-লাইন আর্গুমেন্ট হিসাবে প্রয়োজনীয় হিসাবে ইনপুট?
এমএস 210

@ এমএস 210 হ্যাঁ, অবশ্যই।
এঞ্জেল

1
@ অ্যাঞ্জেল s/.*/\L&/নয়টি বাইট সমাধানের জন্য
14

ধন্যবাদ @ সুমনেউইথপিসি। উভয় s/.*/\L&/এবং s/./\L&/gপ্রকৃতপক্ষে 9-বাইট সমাধান!
এঞ্জেল

0

জাভা, 198 বাইট

b->B->{B="";for(java.io.File c:b)B+=new java.util.Scanner(c).useDelimiter("\\Z").next();for(int c=0;c++<B.length;)if(B.charAt(c)>64&B.charAt(c)<91)B=B.replace(B.charAt(c),B.charAt(c)|32);return B;};

উপরের ল্যাম্বদা ফাইল সহ আপনি ব্যবহার করতে বাধ্য হচ্ছেন, সুতরাং এসটিডিএন থেকে ইনপুট নেওয়ার দরকার নেই! এছাড়াও, এটি একটি Function<File[], UnaryOperator<String>>। এটি যেমন ব্যবহার করা হয় foo.apply(anArrayOfFiles).apply(anything)

যা জাভাতে নতুন তাদের কাছে আরও বেশি অর্থবোধ করে, এটি 223 বাইট লাগে:

String A(java.io.File[]b){String B="";for(java.io.File c:b)B+=new java.util.Scanner(c).useDelimiter("\\Z").next();for(int c=0;c++<B.length;)if(B.charAt(c)>64&B.charAt(c)<91)B=B.replace(B.charAt(c),B.charAt(c)|32);return B;}

এমন কিছু যা সংকলন করে, এটি 232 বাইট নেয়:

class a{String A(java.io.File[]b){String B="";for(java.io.File c:b)B+=new java.util.Scanner(c).useDelimiter("\\Z").next();for(int c=0;c++<B.length;)if(B.charAt(c)>64&B.charAt(c)<91)B=B.replace(B.charAt(c),B.charAt(c)|32);return B;}}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.