আমার কনসোলের মাত্রা বলুন!


41

যে কোনও দ্বি-দশমিক দশমিক বিন্যাসে আউটপুট টার্মিনাল মাত্রা (কলাম এবং সারি) । উদাহরণস্বরূপ, একটি আউটপুট হতে পারে 80x25


অনুপ্রেরণাপ্রম্পট
* আউটপুট উভয়ই একক বা দুটি পরপর রেখাযুক্ত ব্যবস্থা থাকতে হবে এবং আউটপুটটির শীর্ষস্থানীয় এবং / অথবা পিছনের লাইনের চেয়ে বেশি আর কোনও নাও থাকতে পারে (allyচ্ছিকভাবে একটি নতুন লাইন অনুসরণ করা হবে)। (চারটি অবধি) লাইন অবশ্যই সর্বোচ্চ (কলস, 1 + লেন (স্ট্র (কলস)) + লেন (আরআর (ডাব্লুএস)) এর চেয়ে বেশি হওয়া উচিত নয় be


2
আমি কখনও সংক্ষিপ্ত উন্নত চ্যালেঞ্জ দেখিনি। অভিনন্দন!
মিঃ এক্সকডার

13
@ মিঃ এক্সকোডার আমি ওয়ান-লাইনারগুলিতে বিশেষীকরণ করি ...
অ্যাডাম

আপনি এক-আস্তরণের পোস্টগুলিতে একটি ডিগ্রি পেতে চলেছেন! তুমি তো ভাল, না, যে খুব ভাল আছেন:)) ...
জনাব Xcoder

'ধারাবাহিক বিন্যাস' এর সঠিক অর্থ কী?
ফিলিপ নারদী

1
@ ফিলিপনার্দিবাটিস্তা আমি আপাতত হ্যাঁ বলব, তবে যদি এটি অযৌক্তিকতার দিকে নিয়ে যায় তবে ফিরে আসুন।
অ্যাডম

উত্তর:


27

* শ, ৯

stty size

আউটপুট:

97 364

বাশে কাজ করে।
নম্বরমানিয়াক

2
অথবা পিক্সিক-মতো সিস্টেমে অন্য কোনও শেল।
এমভিডিএস

1
এই সাইটে দেখা কয়েকটি ভাষার নাম দেওয়া হয়েছে, এটি বুঝতে বেশি সময় লাগে যে এখানে * sh বলতে "বাশ, জেডএস, সিএস, ড্যাশ ইত্যাদি" বোঝায় " ভাষার পরিবর্তে যার নামটি একটি নক্ষত্রের সমন্বয়ে বর্ণ এবং এর পরে এস এবং এইচ :-) অক্ষরের অন্তর্ভুক্ত
শ্রীভাতসার

প্রযুক্তিগতভাবে আপনার কোনও প্রোগ্রাম চালনার জন্য শেলেরও প্রয়োজন নেই। সুতরাং shউপাধিটি যাইহোক সত্যিই অর্থবোধ করে না।
এমভিডিএস

20

8086 মেশিন কোড, 11 বাইট (একটি ফাংশন হিসাবে, অ-প্রতিযোগী)

এটি দৃশ্যমান আউটপুট না থাকায় আসলে প্রতিযোগিতা করছে না। এটি মুদ্রণের জন্য প্রয়োজনীয় বয়লারপ্লেট কোড ছাড়াই বর্তমান পর্দার মাত্রা সন্ধান করার সবচেয়ে সংক্ষিপ্ততম উপায়টি দেখাচ্ছে।

00000000  6a 40 1f a0 84 00 40 8a  26 4a 00                 |j@....@.&J.|
0000000b

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

6a 40           |   push 0x40       ; bios data segment
1f              |   pop ds
a0 84 00        |   mov al, [0x84]  ; console rows - 1
40              |   inc ax
8a 26 4a 00     |   mov ah, [0x4a]  ; console columns

8086 মেশিন কোড, 48 বাইট (সম্পূর্ণ প্রোগ্রাম হিসাবে)

00000000  1f bf 30 01 a0 84 04 40  e8 1a 00 b0 78 aa a0 4a  |..0....@....x..J|
00000010  04 e8 11 00 8d 8d d0 fe  8d 75 ff 06 1f fd ac cd  |.........u......|
00000020  29 e2 fb cd 20 d4 0a 0c  30 aa c1 e8 08 75 f6 c3  |)... ...0....u..|
00000030

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

                |   org 0x100
                |   use16
1f              |       pop ds              ; clear ds (the stack always contains 0 on entry)
bf 30 01        |       mov di, d           ; set destination ptr
a0 84 04        |       mov al, [0x484]     ; console rows - 1
40              |       inc ax
e8 1a 00        |       call to_ascii       ; convert to ascii
b0 78           |       mov al, 'x'
aa              |       stosb
a0 4a 04        |       mov al, [0x44a]     ; console columns
e8 11 00        |       call to_ascii
8d 8d d0 fe     |       lea cx, [di-d]      ; number of characters to print
8d 75 ff        |       lea si, [di-1]      ; set source ptr
06              |       push es
1f              |       pop ds
fd              |       std                 ; reverse direction flag
ac              |   @@: lodsb               ; load (al = *si--)
cd 29           |       int 0x29            ; print al to console, bypassing stdout
e2 fb           |       loop @b             ; repeat while (--cx != 0)
cd 20           |       int 0x20            ; terminate
                |   
                |   to_ascii:
d4 0a           |       aam 10              ; ah = (al / 10), al = (al % 10)
0c 30           |       or al, 0x30         ; convert al to ascii number
aa              |       stosb               ; store (*di++ = al)
c1 e8 08        |       shr ax, 8           ; shift ah to al
75 f6           |       jnz to_ascii        ; repeat if non-zero
c3              |       ret
                |   
                |   d rb 0

আমি খুব নিশ্চিত যে একটি ফাংশন জমা প্রয়োজন হবে ret? এছাড়াও, আমি নিশ্চিত না যে আপনাকে ক্লোবারের অনুমতি দেওয়া হয়েছে ds। এটি মেটাতে যাওয়ার দরকার হতে পারে, কারণ ফাংশনটি একাধিকবার কাজ করে, এটির অনাকাঙ্ক্ষিত পার্শ্ব প্রতিক্রিয়া রয়েছে।

কেন "স্ট্যাকের সর্বদা 0 প্রবেশের সময় 0 থাকে"? স্ট্যাকটি শূন্য হয়ে যায় এমন কোনও নিয়ম সম্পর্কে আমি জানি না। আমার ধারণা আপনি রিটার্ন মানটি পপিংয়ের কথা বলছেন এবং ভাবছেন যে 0 হবে? এটি কি কোনও COM বাইনারি জন্য গ্যারান্টিযুক্ত?
কোডি গ্রে

@ কোডি গ্রে: কোনও সিওএম প্রোগ্রামে, স্ট্যাকটি প্রাথমিকভাবে পিএসপি (অফসেট 0) শুরু করার নিকটবর্তী পয়েন্টার ধারণ করে, তাই আরইটি পিএসপি: 0 এ ফিরে যাবে, যার মধ্যে প্রস্থান করার জন্য একটি কল রয়েছে। stackoverflow.com/a/12593311/371250
নিনজালজ

আহ, স্পষ্টকরণের জন্য ধন্যবাদ, @ নিনজালজ। (আপনি যে লিঙ্ক করেছেন, বিটিডাব্লু। অনেক বছর আগে এর বাস্তবায়নটি রিভার্স ইঞ্জিনিয়ারিং সত্ত্বেও আমি পিএসপি সম্পর্কে কার্যত সমস্ত বিবরণ ভুলে গিয়েছিলাম।) তবে আপনি যদি সেই পয়েন্টারটি পিছনে না ঠেকিয়ে স্ট্যাকের বাইরে ফেলে রাখেন, তবে না আপনি RETফাংশন শেষে নির্দেশ ভঙ্গ ?
কোডি গ্রে

@ কোডি গ্রে: আপনি নোট করবেন যে প্রোগ্রামটি মাধ্যমে হয়ে বেরিয়েছে, এর INT 20hমাধ্যমে নয় RET, ঠিক কারণ পিপিংয়ের পরে প্রস্থান করার পরে RETআর কোনও কাজ হয় না।
নিনজালজ

18

বাশ, 22 20 টি অক্ষর

echo $COLUMNS $LINES

ধন্যবাদ:

  • অনুকূল আউটপুট বিন্যাসের জন্য ডোরকনব (২ টি অক্ষর)

নমুনা রান:

bash-4.3$ echo $COLUMNS $LINES
80 24

আরও 1 টি বাইটের সাহায্যে echo $COLUMNS\x$LINESo / p করতে পারেন80x24
পান্ড্যা

@ পান্ড্য সত্য, তবে প্রয়োজনীয় নয়।
অ্যাডম

7
এটি যদি নতুন আউটপুট ফর্ম্যাট প্রয়োজনীয়তার সাথে সম্মতি দেয় তবে নিশ্চিত না তবে আপনার কাছে "ব্যাশ: 90x50: কমান্ড পাওয়া যায় নি" আউটপুটটিতে কেবল $ COLUMNS \ x। লাইন থাকতে পারে। মনে করুন যে এটি স্থানীয়করণের সাথে যদিও কাজ করে না, বা যদি সেই আদেশটি আসলে উপস্থিত থাকে!
মুজার

14

xterm, 6 বাইট

আপনার নির্দিষ্ট ফর্মেটের প্রয়োজন নেই, আপনি কেবল resize(6 অক্ষর) কমান্ডটি ব্যবহার করতে পারেন xterm:

$ resize
COLUMNS=120;
LINES=31;
export COLUMNS LINES;

1
খুশী হলাম। তবে আপনি একটি স্ট্যান্ডার্ড শিরোনাম লিখতে চাইবেন #xterm, 6 bytes
অ্যাডম

@ অ্যাডম এই ধরণের আউটপুট প্রশ্ন অনুসারে গ্রহণযোগ্য?
পান্ড্য


@ অ্যাডম ঠিক আছে
পান্ড্য

এটি এক্সটার্ম-নির্দিষ্ট নয়। এও নোট করুন যে আউটপুট আপনার শেলের উপর নির্ভর করে।
celtschk

13

sh, 20 বাইট

tput lines;tput cols

.. খুব সুস্পষ্ট, সম্ভবত ..


3
tput কলস; !: 0 টি
কলস

@ মার্কোস আপনার মানে tput lines;!:0 cols, তাই না?
ডাইটার

12

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

import os
os.get_terminal_size

এটি টিআইওতে কাজ করে না বলে একটি বিকল্প সেখানে ব্যবহৃত হয়:

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


1
শুধু কেন নয় os?
জোনাথন অ্যালান

2
... এটি অপারেটিং সিস্টেমের কারণে টিআইওতে কাজ করবে না, সুতরাং নির্দিষ্টকরণের প্রয়োজন। এটা তোলে করেন Windows এ হবে। এছাড়াও import osএবং এর os.চেয়ে কম from...
জোনাথন অ্যালান

আমি নিশ্চিত করতে পারি যে এটি উইন্ডো 10 এ কোনও পরিবর্তন ছাড়াই কাজ করে
ফেরিবিগ

ম্যাকের
উপরেও

1
টেকনিক্যালি পাইথন ৩.৩++
ম্যাটসয়েজ

11

সি (কেবল লিনাক্স), 63 61

short m[4];main(){ioctl(0,21523,m);printf("%dx%d",*m,m[1]);}

4
আপনি প্রতিস্থাপন m[0]করে দুটি বাইট জিততে পারেন *m
ওয়াইএসসি

mmain(short m){ioctl(0,21523,&m);printf("%dx%d",m,(&m)[1]);}
মূলটির

main(int m){ioctl(0,21523,&m);printf("%x",m);}base 16 বাইট হবে, বেস ১ 16 এ মুদ্রিত আকার এবং কোলস এবং সারিগুলির মধ্যে কোনও বিভাজক (সম্ভাব্য শীর্ষস্থানীয় জিরো ব্যতীত) থাকবে।
এমভিডিএস


8

সি #, 59 বাইট

using c=System.Console;_=>c.WindowWidth+"x"+c.WindowHeight;

একটিতে সংকলন করে Func<int, stringতবে ইনপুট ব্যবহার হয় না।


কাজ করে না; আমি দেখতে পেলাম যে এই কনসোলটির আকারটি অলোকসনসোল () বলা হয়েছিল, কনসোল স্ট্যান্ডার্ড ইনপুট এবং আউটপুটটি আসলে সংযুক্ত রয়েছে তার আকার নয়। এখানে প্রশ্ন: স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 35688348/… প্রশ্ন জিজ্ঞাসা করার সময় আমি কী পিছনে ছিল তা হ'ল আমি আসলে উইন্ডোজ পরিবেশে স্টিডিন এবং স্টডআউটকে একটি এসএস পাইপলাইনে সংযুক্ত করে চালিয়ে যাচ্ছিলাম। Win32 ssh বাস্তবায়ন প্রয়োজনীয় সরবরাহ করে না।
জোশুয়া 1

7

নোডজেএস, 50 48 46 বাইট

> s=process.stdout;console.log(s.columns,s.rows)
80 25

process.stdoutগুলি columnsএবং rowsমানগুলি ব্যবহার করে ।


ধন্যবাদ @ ইথ প্রডাকশনস, কনসোলে আউটপুটে কনসোল.লগ যুক্ত করেছেন :)
পিট টিএনটি

কোনও সমস্যা নেই :-) আউটপুটটি কোনও সামঞ্জস্যপূর্ণ ফর্ম্যাটে হতে পারে, তাই আমি মনে করি আপনি কিছু বাইট সংরক্ষণ করে সংরক্ষণ করতে পারেন console.log([s.columns,s.rows])
ETH প্রোডাকশনগুলি

5
1 বাইট বন্ধ:with(process.stdout)console.log(columns,rows)
ব্রায়ান ম্যাকচ্যাটন

1
এবং আরো কয়েকটি বন্ধ বাইট (যদি এই গন্য): with(process.stdout)write(columns+[rows])। বা, যদি এটি গণনা করা হয় না:with(process.stdout)write(columns+' '+rows)
মার্কাসফল্টওয়্যার

1
@ মারকাসফটওয়্যার ওহ, এটি চালাক আমি মনে করি না, যদিও প্রথমটি গণনা করা উচিত।
ব্রায়ান ম্যাকচ্যাটন

6

রুবি, 41 36 21 + 13 = 34 বাইট

কমান্ড লাইন পতাকা দিয়ে চালান -rio/console

p IO.console.winsize

এটি আমার প্রথম রুবি গল্ফ, তাই আমি আরও ভাল কিছু করতে পারি কি না বলুন।

5 বাইট সংরক্ষণ করা হয়েছে SztupY ধন্যবাদ

2 বাইট সংরক্ষণ করেছেন মানবিক কাজের জন্য ধন্যবাদ


দৈর্ঘ্যের দুটি তালিকা হিসাবে প্রস্থটি এর পরে প্রস্থকে আউটপুট দেয়।

উদাহরণ আউটপুট:

[25, 80]

আপনি সম্ভাব্যভাবে -r কমান্ড লাইন প্যারামিটারে স্থানান্তর করতে পারেন যা কেবলমাত্র 2 টি অতিরিক্ত বাইট
জ্লুপুপায়

আশেপাশের একক উদ্ধৃতিগুলির প্রয়োজন নেই io/console, কোনও শেল এটিতে অনাকাঙ্ক্ষিত সম্প্রসারণ সম্পাদন করবে না যদি উদ্ধৃত না করে থাকে।
manatwork


4

সি # 94 বাইট (পুরো অ্যাপ্লিকেশন)

মেটাকলনের পুরো অ্যাপ্লিকেশন উত্তরটি যথেষ্ট সংক্ষিপ্ত করা যেতে পারে:

using c=System.Console;class P{static void Main(){c.Write(c.WindowWidth+' '+c.WindowHeight);}}

4

পাওয়ারশেল + মোড, 11 বাইট?

আউটপুট বর্তমান আকারে গ্রহণযোগ্য নাও হতে পারে।

modeকমান্ড একটি ডিফল্ট উইন্ডোজ ইউটিলিটি

modeনির্দিষ্ট না করে ব্যবহার সম্পর্কিত মেটা পোস্টcon

(mode)[3,4]

মোডের আউটপুট পায়:

<Whitespace>
Status for device CON:
----------------------
    Lines:          3000
    Columns:        120
    Keyboard rate:  31
    Keyboard delay: 1
    Code page:      850

তারপরে 4 র্থ এবং 5 তম লাইন ( [3,4]) আউটপুটিং:

PS H:\> (mode)[3,4]
    Lines:          3000
    Columns:        120

দুটি বাইট সংরক্ষণ করুন:(mode)[3,4]-replace"\D"
অ্যাডম

এখানে কাজ করার জন্য, আমাকে ব্যবহার করতে হবে(mode con)[3..4]
ফিলিপ নারদী

আহ @ ফিলিপনার্দিবাটিস্তা সম্ভবত আপনার ঠিকঠাক দরকার।
অ্যাডম

1
@ ফিলিপনার্দিবাটিস্টা প্রয়োজনীয় con? এটি একেবারে প্রথম লাইন পেয়ে যায় এবং আমি বিশ্বাস করি conযে সর্বদা প্রথম? আমি বলতে চাই একটি standardসিস্টেমে মোডের জন্য কেবল একটি আউটপুট থাকবে, যা আমাদের অনুমান করা উচিত?
কলসডাব্লু

1
@ কননরএলএসডাব্লু এটা ঠিক যে আমার সিস্টেমটি ঠিকঠাক কাজ করে, তবে আপনার উত্তরটি এখানে কার্যকরভাবে কাজ করে না
ফিলিপ নার্দি বাতিস্তা


3

ব্যাচ, 25 19 18 17 বাইট

সরাসরি "ফাইন্ড" কমান্ডটিতে পাইপ দিয়ে 6 বাইট সংরক্ষণ করা হয়েছে। অ্যাডাম / ওপিকে
ধন্যবাদ 1 বাইট সংরক্ষণ করা । ওপিতে মন্তব্য করার জন্য 1 বাইট সংরক্ষণ করা হয়েছে ।

mode con|find "n"

ইকো চালু থাকায় এটি কমান্ডটি নিজেই আউটপুট দেয় তবে ওপি-র মতামত অনুসারে , একটি শীর্ষস্থানীয় লাইন ঠিক আছে।


আপনার সেটআপের উপর নির্ভর করে এটি কেবল 13 বাইটের সাথে কাজ করতে পারে। তবে, মনে হচ্ছে যে সিওএম বন্দর ব্যবহার করে যে কোনও কিছু থাকার ফলে অতিরিক্ত ভার্বোস আউটপুট হবে।

mode|find "n"

একটি বাইট সংরক্ষণ করুন s:n
অ্যাডম

1
@ ফিলিপনার্দিবাটিস্তা হ্যাঁ, এবং আমার জানায় আমি 9001 লাইন পেয়েছি। এটি কেবলমাত্র একটি সেটিংস: বৈশিষ্ট্য> লেআউট> স্ক্রিন বাফার আকার।
অ্যাডম

উইন্ডো কনসোলের মাত্রা উইন্ডো মাত্রার মত নয় dimen এজন্য আপনি উইন্ডোটি আরও ছোট করে তুললে স্ক্রোল বারগুলি প্রদর্শিত হবে। ওপি হিসাবে , এই সঠিক সমাধান ঠিক আছে।
ইঞ্জিনিয়ার টোস্ট

@ অ্যাডাম ডাঙ্গিত, আমি একটি ছোট স্ট্রিংয়ের সন্ধান করেছি এবং আমি কীভাবে এটি উপেক্ষা করেছি তা জানি না। এটি সম্ভবত কারণ আমি ঠিক দিয়ে শুরু করেছি modeতবে দেখা গেছে যে দুটি আলাদা আলাদা অক্ষরের সাথে দুটি অক্ষরের সন্ধান চেয়ে `শঙ্কা যুক্ত করা সংক্ষিপ্ত ছিল findstr
ইঞ্জিনিয়ার টোস্ট

@ আদম ভিত্তি করে আপনার মন্তব্য , এই বৈধ হতে হবে: @mode|find "L" /i? এটি উপরের 18 টির পরিবর্তে 17 বাইট সহ লাইনস, কলাম এবং কীবোর্ড বিলম্বটি প্রদান করে সেই লিডিং / ট্রেলিং লাইনগুলি কি খালি থাকা দরকার?
ইঞ্জিনিয়ার টোস্ট 14

3

সি #, 85 বাইট

()=>System.Console.Write(System.Console.WindowWidth+"x"+System.Console.WindowHeight);

আপনি যদি পুরো অ্যাপ্লিকেশন কোডটি চান তবে আমাদের কাছে 115 101 94 বাইট রয়েছে :

using C=System.Console;class P{static void Main()=>C.Write(C.WindowWidth+"x"+C.WindowHeight);}

তবে আপনি বাফার আকারটিও বোঝাতে পারেন, আমাদের আবার 85 বাইট থাকবে

()=>System.Console.Write(System.Console.BufferWidth+"x"+System.Console.BufferHeight);

বা পুরো অ্যাপ্লিকেশন কোড হিসাবে (স্পষ্টতই 115 101 94 বাইট আবার):

using C=System.Console;class P{static void Main()=>C.Write(C.BufferWidth+"x"+C.BufferHeight);}

সাইয়াস জার্ডের সহায়তায় পুরো অ্যাপ্লিকেশন কোডে 14 বাইট সংরক্ষণ করা হয়েছে


1
104 বাইট পুরো অ্যাপ্লিকেশন, সম্ভবত আপনি আপনার অন্যান্য বিভিন্নতার জন্য যুক্তি প্রসারিত করতে পারেন:using c=System.Console;class P{static void Main(){c.WriteLine(c.WindowWidth);c.Write(c.WindowHeight);}}
Caius Jard

(আমি নিশ্চিত না যে কীভাবে গল্ফ করব আমার যদি উত্তর ছোট হয়; আমি কী আপনার সম্পাদনা করব, আপনার মন্তব্য করব বা আমার নিজের পোস্ট করব?)
কায়ুস জার্ড

@ কাইউস জার্ড আপনি নিজের উত্তর পোস্ট করতে পারেন বা কোনও উন্নতির মন্তব্য করতে পারেন এবং উত্তরদাতাকে সিদ্ধান্ত নিতে দেয় যে তারা এটি যুক্ত করতে চায় কি না।
TheLethalCoder

আমি চেয়েছিলাম, সময় মতো আমার মন্তব্যটি সম্পাদনা করতে পারিনি ... আমার নিজের উত্তর পোস্ট করা হয়েছে (এতে এটি অন্তর্ভুক্ত ছিল) যদিও একই সাথে আমি আপনাকে প্রেরণা দিচ্ছি না :) পুরো অ্যাপ্লিকেশনটি না করে উত্তরটি ফাংশনটি লিখতে বাধ্য করা হয়েছে বলে মনে হচ্ছে কিনা তা খুব নিশ্চিত নয় - অন্য সমস্ত উত্তর পুরোপুরি পুরো অ্যাপ্লিকেশন, তবে আবার সিএসআরপপ্যাড.কম আপনার "একক ফাংশন" সংস্করণটি গ্রহণ করবে এবং এটি চালান .. আমার মনে হয় গল্ফিংয়ের নিয়মগুলি সন্ধান করা উচিত
কায়াস জার্ড

@ কেয়াসজার্ড ফাংশন / পদ্ধতিগুলিকে স্পষ্টভাবে চ্যালেঞ্জের মধ্যে স্পষ্টভাবে অনুমোদিত না হলে অনুমোদিত are অতএব, একটি বেনামি ফাংশন ঠিক আছে, ভাল উত্তর দেয় এমন সংস্করণের জন্য আমার উত্তরটি দেখুন।
TheLethalCoder

2

জাভা 8 (কোনও গ্রন্থাগার নেই), উইন্ডোজ, 270 বাইট

আদমের পরামর্শে আলাদা করে পোস্ট করা

interface B{static void main(String[] a)throws Exception{Object[]r=new java.io.BufferedReader(new java.io.InputStreamReader(Runtime.getRuntime().exec("cmd /c mode").getInputStream())).lines().toArray();System.out.print(r[3]+"\n"+r[4]);}}

Ungolfed:

interface B {
    static void main(String[] a) throws Exception {
        Object[] r = new java.io.BufferedReader(new java.io.InputStreamReader(
                Runtime.getRuntime().exec("cmd /c mode").getInputStream())
        ).lines().toArray();
        System.out.print(r[3] + "\n" + r[4]);
    }
}

cmd/c modeপরিবর্তে চেষ্টা করুন cmd /c mode
কনর ও'ব্রায়েন

সবেমাত্র চেষ্টা করা হয়েছে, রানটাইম.এক্সেক () ব্যাখ্যা করে যা cmd/cফলাফল কার্যকর করার চেষ্টা করে CreateProcess error=2। :(
এফ। জর্জ

2

8 ম , 24 16 12 বাইট

অ্যান্ডার্স টর্নব্ল্যাড মন্তব্যের পরে সংশোধিত।

con:size? .s

সারি এবং কলামগুলির মুদ্রণ স্ট্যাক সামগ্রীতে কনসোলের বর্তমান আকারটি প্রদান করে।

আউটপুট:

2  n: 000000000285e5e0 1   300
1  n: 000000000285e4c0 1   90

2
যেহেতু প্রশ্নটি কোনও আউটপুট ফর্ম্যাটকে অনুমতি দেয় তাই আপনার কি সত্যই দরকার swap?
অ্যান্ডার্স টর্নব্ল্যাড

@ আন্ডারস টর্নব্ল্যাড - আপনার জ্ঞাত মন্তব্যের জন্য আপনাকে ধন্যবাদ আমি আমার কোড উন্নত করেছি।
বিশৃঙ্খলা

2

জাভা + * নিক্স, 113

interface B{static void main(String[] a)throws Exception{new ProcessBuilder("stty","size").inheritIO().start();}}

Ungolfed:

interface B{
    static void main(String[] a)throws Exception{
        new ProcessBuilder("stty","size").inheritIO().start();
    }
}

ProcessBuilder.inheritIOএকটি শিশু প্রক্রিয়া ইনপুট / আউটপুট উত্তরাধিকার সূত্রে প্রাপ্ত করে; এটি সি এর সাথে ডিফল্ট exec। জাভাতে, ডিফল্টটি "পাইপযুক্ত" হয়। আপনি দেখতে পাচ্ছেন Runtime.getRuntime().exec()যে এটি ব্যবহারের চেয়ে আরও ছোট (যা অবহেলিত) এবং BufferedReaderএকটি দীর্ঘ এবং সংশ্লেষিত কলটির মাধ্যমে একটি নির্মাণ করা যা জাভা এপিআই ডিজাইনারদের সুবিধার্থে একটি ওভারলোড যুক্ত করার আপাত অনিচ্ছার ফলস্বরূপ।


আমি ProcessBuilderউইন্ডোজে কাজ করতে চাই , তবে modeকমান্ডটি 4 টিরও বেশি লাইন ছাড়িয়েছে :(
এফ জর্জ


1

কমোডর 64 বেসিক, 7 বাইট

?"40x25

সি 64-এ 40 x 25 টি অক্ষরের একটি নির্দিষ্ট আকারের পাঠ্য কনসোল রয়েছে। কনসোলের আকারটি জিজ্ঞাসা করার প্রয়োজন নেই, এটি একটি ভাল জিনিস, কারণ এটি অনুসন্ধান করার কোনও উপায় নেই।


এটি প্রতারণার মতো বলে মনে হচ্ছে যদিও এটি ন্যায়সঙ্গত হলেও প্রশ্নটি (বা এর অনুপ্রেরণা) এটি বিশেষভাবে নিষিদ্ধ করে না।
কোডি গ্রে

2
প্রাসঙ্গিক: কোড golf.meta.stackexchange.com/a/1063/43319
অ্যাডম

1

কোটলিন + জ্লাইন 2 , 58 বাইট

{print(jline.TerminalFactory.get().run{"$width $height"})}

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


একটি পোস্টে দুটি উত্তর রাখবেন না।
অ্যাডম

@ অ্যাডাম এটি চিন্তার আরও কিছু, সুতরাং আমি মনে করি এটি ঠিক আছে। এটি সরাসরি সম্পাদনা করার জন্য আপনার কাছে পর্যাপ্ত প্রতিনিধি রয়েছে, আপনি যদি সত্যই বিশ্বাস করেন যে স্বেচ্ছাচারিতা বিধিনিষেধ সহ একটি 270 বি একটি পৃথক উত্তর হওয়া উচিত।
এফ জর্জ

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

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

এটি জাভা (কোনও গ্রন্থাগার নেই) হিসাবে পোস্ট করুন এবং এর সাথে জাভা নামে আরও একটি জমা দিন । এটি আমার কাছ থেকে আপনাকে তিনটি উপার্জন দেবে।
অ্যাডম

1

স্ট্যাকড , 7 বাইট

termdim

ডিফল্ট হিসাবে অনুমোদিত হিসাবে স্ট্যাকের আউটপুট ফেলে। ব্যবহারের উদাহরণ:

λ stacked -pe "termdim"
(117 26)

বোনাস: termdim'x'#`এটা আছে 117x26


1

সি (লিনাক্স, কেবল সি 89), 45 41

https://codegolf.stackexchange.com/a/118696/42186 দ্বারা অনুপ্রাণিত @ ডিটার দ্বারা

main(m){ioctl(0,21523,&m);write(1,&m,4);}

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

$ ./a.out | od -sAn
     58    204

58 টি সারি দ্বারা টার্মিনালের আকার 204 টি কলস।

odপরিবর্তে ব্যবহার করার জন্য @ র্যান্ডম 832 কে ধন্যবাদ hexdump


1
আমি মনে করি হেক্স এটি চাপ দিচ্ছে। অন্যান্য সমস্ত উত্তর দশমিক ব্যবহার করে, সুতরাং আমি এই প্রয়োজনীয়তা ওপিতে যুক্ত করতে যাচ্ছি। দুঃখিত।
অ্যাডম

1
od -s এটি দশমিকভাবে করবে এবং হেক্সডাম্পের চেয়ে ছোট হবে
এলোমেলো 832

@ র্যান্ডম 832 দুর্দান্ত, এটি জানেন না, +1! তবে এই উত্তরটি যাইহোক অবৈধ হয়ে উঠল, যখন নিয়মগুলি "যে কোনও বিন্যাস" থেকে খুব নির্দিষ্ট বিন্যাসে পরিবর্তিত হয়েছিল (যেমন: মূলধারার টার্মিনাল এমুলেটরগুলিতে বেস 10)
এমভিডিএস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.