আমি কীভাবে হাস্কেলের টার্মিনাল পর্দা সাফ করব?


93

আমার ব্যবহারকারী আমার অ্যাপ্লিকেশনটির মেনু থেকে কোনও বিকল্প নির্বাচন করার পরে আমি কীভাবে একটি টার্মিনাল স্ক্রিন সাফ করতে পারি?


4
আপনি আপনার হাস্কেল প্রোগ্রামে কোন ইউজার ইন্টারফেস সিস্টেমটি ব্যবহার করছেন সে সম্পর্কে আপনি আরও পরিষ্কার হতে পারেন? আপনি কী স্ট্যান্ডিন / স্টাডাউটকে কেবল পাঠ্য এবং পাঠ্য লেখার অর্থ দিচ্ছেন? যদি তা হয় তবে তাদের "স্ক্রিন" এর অন্তর্নিহিত ধারণা নেই। যদি আপনি স্ট্যান্ডিন / স্টাডাউটের সাথে একটি টার্মিনাল সংযুক্ত রয়েছে এই ধারণা করেই আপনার প্রোগ্রামটি কাজ করার পরিকল্পনা করছেন, তবে আপনার নির্দেশিত @ জ্যাকস'র উত্তর হিসাবে কিছু টার্মিনাল নিয়ন্ত্রণ প্যাকেজ ব্যবহার করার জন্য আপনার প্রোগ্রামটি কোডিং করা উচিত।
এমটিএনভিউমার্ক

4
সঠিক উত্তর চয়ন করুন। মানুষ সব উত্তর দিয়ে যেতে হয়!
শিশির গুপ্ত

উত্তর:


198

:! শেল কমান্ড চালান
:! CLS জানালা অধীনে
: লিনাক্স এবং ওএস এক্স এর অধীনে পরিষ্কার


4
GCI এর জন্য কি চিটশিট আছে?
টগবার্ক

4
@ আমার সর্বোত্তম অনুমানটি এটি হ'ল কারণ তারা মনে করেন না যে এটি একটি হাস্কেল সমাধান (যথাযথভাবে; এটি কেবল জিএইচসিআইতে কাজ করে), এটি তাদের (শেল-নির্ভর) কাজ করে না বা তারা জ্যাচএস-এর উত্তরকে আরও ভাল বলে বিবেচনা করে । :! clsআমার ব্যবহারের ক্ষেত্রে যথেষ্ট পরিমাণে তবে এটি জিজ্ঞাসকের ক্ষেত্রে কাজ করে না কারণ প্রশ্নকারী জিএইচসিআই ব্যবহার করছে না।
জন ডিভোরাক

58

এটি যা আপনি খুঁজছেন হতে পারে:

ansi- টার্মিনাল: উইন্ডোজ সামঞ্জস্য সহ সহজ এএনএসআই টার্মিনাল সমর্থন

আপনি এটি হ্যাকেজে খুঁজে পেতে এবং ব্যবহার করে ইনস্টল করতে পারেন cabal install ansi-terminal। এটিতে বিশেষত স্ক্রিন সাফ করার জন্য, রঙগুলি প্রদর্শন করার জন্য, কার্সারটি সরিয়ে নেওয়া ইত্যাদি functions

স্ক্রিনটি সাফ করার জন্য এটি ব্যবহার করা সহজ: (এটি জিএইচসিআই সহ)

import System.Console.ANSI

clearScreen


4
এটা সঠিক উত্তর. আপনার সিস্টেমের প্যাকেজ ম্যানেজারে প্যাকেজটি অনুসন্ধান করার চেষ্টা করুন, যদিও ক্যাবল সাধারণত এর সাথে কাজ করে না এবং একটি আনইনস্টল কমান্ড দেয় না।
Evi1M4chine 21'14

14

এমন একটি টার্মিনাল যা এএনএসআই অব্যাহতি ক্রমগুলি বোঝে (আমি ইউনিক্স / লিনাক্স সিস্টেমে প্রতিটি শব্দকে বিশ্বাস করি) আপনি কেবল এটির মাধ্যমে করতে পারেন:

clear = putStr "\ESC[2J"

2সম্পূর্ণ পর্দা মুছে যায়। আপনি ব্যবহার করতে পারেন 0বা 1যথাক্রমে আপনি স্ক্রীনের বা পর্দার শুরুতে কার্সার থেকে প্রান্তে কার্সার থেকে পরিষ্কার চান।

তবে আমি মনে করি না এটি উইন্ডোজ শেলটিতে কাজ করে।



8

ইউনিক্স সিস্টেমে আপনি এমনটি করতে পারেন System.system "clear"যা কেবল কমান্ড-লাইন ইউটিলিটি পরিষ্কারের জন্য প্রার্থনা করে। বাহ্যিক সরঞ্জামগুলির উপর নির্ভর করে না এমন একটি সমাধানের জন্য আপনার এমন একটি লাইব্রেরি দরকার যা বিভিন্ন টার্মিনাল-ধরণের উপরের মতো বিমূর্ত করে যেমন উদাহরণস্বরূপ আনসি-টার্মিনাল


8
@ প্রদীপ: হ্যাঁ, এবং আমি তড়িঘড়ি উত্তর দিয়েছি।
sepp2k

8
@ প্রদীপ: চিৎকার করার দরকার নেই। ( En.wikedia.org/wiki/All_caps#Internet দেখুন )
জ্যারেড আপডেটিকে

6

উইন্ডোজ একটি দ্রুত উপায় হতে হবে

import System.Process

clear :: IO ()
clear = system "cls"

এটি আমার এবং লিনাক্স সিস্টেম ব্যবহারের জন্য সবচেয়ে পরিষ্কার সমাধান ছিল system "clear
আইয়েন জে রেইড

6

উইন্ডোজ ব্যবহার করুন হাস্কেল কমান্ড প্রম্পট টার্মিনালের জন্য Ctrl + L ব্যবহার করুন। এবং, জিইউআইয়ের জন্য সিটিআরএল + এস ব্যবহার করুন ।


0

লিনাক্সের আওতায় (কমপক্ষে উবুন্টু), আমি কোডটি টার্মিনাল সাফ করার জন্য ব্যবহার করি:

import qualified System.Process as SP

clearScreen :: IO ()
clearScreen = do
  _ <- SP.system "reset"
  return ()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.