সময়কাল অর্থ (। 123)


12

আমি শিখেছি . /path/to/fileবাশ শিখছি একটি ফাইল চালানো ব্যবহার করা হয়। কৌতূহলের বাইরে, আমি ইমাসে নিম্নলিখিতগুলির মতো কিছু প্রকাশ করি

(. 123)
     ⇒ 123

(read "(. 123)")
     ⇒ 123

দেখে মনে হচ্ছে এ গিয়ে Emacs কেবল সার্চ (. 123)যেমন 123, কী হলো?


.কোন কাজ নয়। .পরিবর্তনশীল নয়। কিছুই হয়নি - জিপ, শূন্য, জিলচ, নদা।
আইনজীবি

@ লিওলিস্ট এটির চেয়ে কিছুটা জটিল বলে মনে হচ্ছে। যেমন qsdfহয় কোন কাজ নয়, তবে (qsdf 123)ফলনও হয় void function...। এবং (. 123 456)একটি সিনট্যাক্স ত্রুটি দেয় ". in wrong context"
টি। ভেরন

1
আমার কাছে পাঠকের কাছে প্রান্তের মতো মনে হচ্ছে ...
16'7

1
বিটিডব্লিউ, এলিসপে বাশের সমতুল্য .(বা source) সম্ভবত load
টি। ভেরন

(. 123)উপর tutorialspoint.com/execute_lisp_online.php দেয় *** - READ from #<INPUT BUFFERED FILE-STREAM CHARACTER #P"main.lisp" @1>: token "." not allowed here। Emacs ইন: (boundp '.)nilএবং (fboundp '.)nil। অর্থাৎ আপনার দ্বারা বর্ণিত প্রভাবটি খুব অদ্ভুত!
টোবিয়াস

উত্তর:


15

দেখে মনে হচ্ছে ইমাকগুলি কেবল (123) 123 হিসাবে পড়ে, কী হয়েছে?

ঠিক তাই ঘটেছিল। এটি উত্স সহ ব্যাক আপ করতে:

if (ch == '.')
  {
    if (!NILP (tail))
      XSETCDR (tail, read0 (readcharfun));
    else
      val = read0 (readcharfun);
    read1 (readcharfun, &ch, 0);

    if (ch == ')')
      {
        if (doc_reference == 1)
          return make_number (0);
        if (doc_reference == 2 && INTEGERP (XCDR (val)))
          /* ... */
        return val;
      }
    invalid_syntax (". in wrong context");
  }

এটি read_listইন জন্য বিশেষ ক্ষেত্রে lread.c। সাধারণত একটি . পূর্বে পড়া লেজের সিডিআর সেট করে যা অনুসরণ করে তা অনুসরণ করা হয়। তবে ক্ষেত্রে কোনও লেজ নেই (যেমন পড়ার সময় (. 123)), পরের জিনিসটি পড়া হয় এবং যেমনটি ফিরে আসে। ব্যক্তিগতভাবে, আমি প্রত্যাশা করেছিলাম যে এটি একটি অবৈধ সিনট্যাক্স ত্রুটির দিকে পরিচালিত করবে, তবে আমি নিশ্চিত যে কেউ বিশেষ বিশেষ কেসটিকে সেখানে অদ্ভুত ভয়ঙ্কর উত্সগুলির কাজ করার জন্য রেখেছিল। আমি বাইরে চেষ্টা করেছি অন্য পাতার মর্মর দোভাষী মজার এবং কেউই জন্য আচরণ csi, pilএবং sbclএই পড়া পারমিট না, তাই এটি একটি বাগ রিপোর্ট মূল্য হতে পারে।

সম্পাদনা: গিল একই আচরণ করে, এমআইটি-স্কিম করে না। GNU জিনিস হিসাবে আমার এই আচরণের তত্ত্বটি চলেছে ...


গিলিও কি জিএনইউ নয়?
টি। ভেরন

হ্যাঁ, তবে এমআইটি-স্কিমটি আজকাল।
ওয়াসামাস

3
দয়া করে একটি ইমাস বাগের প্রতিবেদনটি বিবেচনা করুন। এটি "স্বাভাবিক" লিস্প আচরণ নয়। আরও কী, এটি অনিবন্ধিত আচরণ বলে মনে হচ্ছে।
ড্র করুন

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