2015-09-26 10 views
8

मैं विंडोज़ पर जीएचसीआई में हास्केल की कोशिश कर रहा हूं। ट्यूटोरियल में मैं अनुसरण कर रहा हूं, फ़ंक्शन नाम बैकटिक्स में संलग्न है: x `mod` 7। हालांकि, मैं जीएचसीआई में चरित्र नहीं डाल सकता।मैं जीएचसीआई में बैकटिक कैसे डाल सकता हूं?

बैकटिक चरित्र ASCII मूल्य 096 है, लेकिन GHCi Alt + संख्या किसी भी चरित्र को सम्मिलित करने की अनुमति नहीं है। कॉपी/पेस्टिंग या तो काम नहीं करता है। मुझे क्या करना चाहिए?

+0

मुझे यकीन नहीं है कि मैं समस्या को सही ढंग से समझ रहा हूं, लेकिन बैकटिक चरित्र आमतौर पर अधिकांश कीबोर्ड पर "1" कुंजी के बाईं ओर एक कुंजी पर स्थित होता है: http: //i.stack.imgur .com/TOn1U.png। –

+0

जीएचसीआई का मेरा संस्करण सीधे मेरे कीबोर्ड से बैकटिक स्वीकार करता है (हालांकि मेरा कीबोर्ड एन-यूएस नहीं है), और इसे पेस्ट करने से भी स्वीकार करता है। यदि आप विंडोज का उपयोग कर रहे हैं, चिपकने के लिए Ctrl + V का उपयोग करने के लिए प्रॉम्प्ट के बजाय पावरहेल पर GHCi चलाएं। – Mephy

+4

एक इतालवी कीबोर्ड है, 1 का एक बायां है, क्षमा करें – Martin

उत्तर

10

मुझे नहीं पता कि अगर आपके कीबोर्ड में यह नहीं है तो ghci को बैकटिक कैसे भेजें। लेकिन इस छोटे तकनीकी मुद्दे से आपको हास्केल की कोशिश करने से नहीं रोकना चाहिए!

  • आप f a b बजाय a `f` b का उपयोग करके बैकटिक बिना हास्केल में कार्यक्रम कर सकते हैं। आपके उदाहरण में, mod x 7

  • आप प्रोग्रामिंग के लिए हमारे कीबोर्ड लेआउट को यूएस-अमेरिकन सेट कर सकते हैं। हालांकि भौतिक कीबोर्ड पर गलत लेबल के साथ चाबियाँ खोजने में कुछ अभ्यास होता है, लेकिन [, ], { और } अधिक सुलभ होने के लिए सुविधाजनक हो सकता है, और आपके मामले में, बैकटिक बिल्कुल है।

  • आप क्लिपबोर्ड से बैकटिक पेस्ट कर सकते हैं। (कमांड विंडो की सेटिंग्स से "त्वरित संपादन मोड" और "पेस्ट मोड" सक्रिय करें, और उसके बाद पेस्ट करने के लिए दायां माउस बटन का उपयोग करें)।

  • शायद कमांड विंडो के चारों ओर एक रैपर का उपयोग करने में मदद करता है? मैं कभी-कभी Emacs में Console2 और कभी-कभी M-x shell का उपयोग करता हूं।

  • शायद WinGHCi मदद करता है? यह कम से कम कॉपी और पेस्ट का समर्थन करता है।

  • ghci को कस्टम कीबाइंडिंग जोड़ने के लिए Ørjan Johansen का उत्तर देखें।

हास्केल के साथ शुभकामनाएं!

+0

विंडोज कंसोल चिपकाने के लिए CTRL-V का समर्थन नहीं करता है (वास्तव में, यह चिपकाने के लिए किसी भी कुंजीपटल शॉर्टकट का समर्थन नहीं करता है) - विंडोज 10 को छोड़कर, ऐसा लगता है: http://stackoverflow.com/questions/131955/कीबोर्ड-शॉर्टकट-टू-पेस्ट-क्लिपबोर्ड-सामग्री-इन-कमांड-प्रॉम्प्ट-विंडो-win-xp/31506358 # 31506358 – melpomene

+0

वास्तव में? कैसा कष्टकर। मैं हर समय अपने विंडोज कंसोल में कमांड प्रॉम्प्ट के साथ CTRL-V का उपयोग करता हूं, लेकिन अब मुझे एहसास हुआ कि यह http://mridgers.github.io/clink/ द्वारा प्रदान किया गया है, वेनिला कंसोल या कमांड प्रॉम्प्ट नहीं। मेरे भ्रम के लिए खेद है। – Toxaris

6

@ टोक्सारिस ने अपने उत्तर में कई सुझाव दिए, लेकिन एक टिप्पणी में उन्होंने जीएचसीआई के रीडलाइन के संस्करण को कॉन्फ़िगर करने की संभावना का भी उल्लेख किया (जिसे haskeline कहा जाता है)। और इसे allows custom keybindings जोड़ें। तो मैंने इसका परीक्षण करने का फैसला किया।

प्रलेखन ~/.haskeline में अनुकूलन डाल करने के लिए है, जो एक विंडोज पथ नहीं है कहते हैं, लेकिन यह शायद जो कुछ निर्देशिका System.Directory.getHomeDirectory रिटर्न में .haskeline करने के लिए अनुवाद। (vim भी Windows पर प्रत्यक्ष रूप से पथ संपादित कर सकते हैं, लेकिन मैं केवल बाद में है कि एहसास हुआ।) तो मैं डाल C:\Users\Ørjan\.haskeline में निम्नलिखित:

bind: meta-' ` 

अब मैं alt-' दबाकर GHCi में ` प्राप्त कर सकते हैं!

+1

पहले से ही सही उत्तर का संकेत देने के लिए खेद है: आपका वही है जो मैं ढूंढ रहा था। इसे विंडोज़ में HOMEPATH (c: \ users \ myname) कहते हैं। Txs। – Martin

+0

@ मार्टिन मुझे लगता है कि आप जो जवाब स्वीकार करते हैं उसे बदल सकते हैं। मुझे खुशी है कि हमने आपकी समस्या हल की है। – Toxaris

संबंधित मुद्दे