Printing first letter of an atom Prolog The Next CEO of Stack OverflowProlog how to print first 3 elements in a listPredicate that will swap the first two letters in an atom in PrologInterchanging first two letters in a word using prologprint out letter squences in prologprolog, changing atoms in expressionreplace elements in prologGet list of atoms by index from i to j in PrologProlog: Differentiate between number and letter listLast two elements of first list = first two elements of second list - PrologReplacing atom with corresponding value from a list in Prolog

What can we do to stop prior company from asking us questions?

To not tell, not take, and not want

How does the mv command work with external drives?

Should I tutor a student who I know has cheated on their homework?

How did the Bene Gesserit know how to make a Kwisatz Haderach?

Why do remote companies require working in the US?

Bold, vivid family

How do I go from 300 unfinished/half written blog posts, to published posts?

In excess I'm lethal

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

How do I transpose the 1st and -1th levels of an arbitrarily nested array?

What happens if you roll doubles 3 times then land on "Go to jail?"

How to solve a differential equation with a term to a power?

Received an invoice from my ex-employer billing me for training; how to handle?

What flight has the highest ratio of time difference to flight time?

Would a galaxy be visible from outside, but nearby?

If a black hole is created from light, can this black hole then move at speed of light?

What is "(CFMCC)" on an ILS approach chart?

Which kind of appliances can one connect to electric sockets located in a airplane's toilet?

Is 'diverse range' a pleonastic phrase?

Why do airplanes bank sharply to the right after air-to-air refueling?

Interfacing a button to MCU (and PC) with 50m long cable

Real integral using residue theorem - why doesn't this work?

Unreliable Magic - Is it worth it?



Printing first letter of an atom Prolog



The Next CEO of Stack OverflowProlog how to print first 3 elements in a listPredicate that will swap the first two letters in an atom in PrologInterchanging first two letters in a word using prologprint out letter squences in prologprolog, changing atoms in expressionreplace elements in prologGet list of atoms by index from i to j in PrologProlog: Differentiate between number and letter listLast two elements of first list = first two elements of second list - PrologReplacing atom with corresponding value from a list in Prolog










1















Print the first letter of two atoms in a list. I can't even get the first letter of one of the two atoms in the list to print.



grab_letter([],[]).
grab_letter([A],[B]) :- A = [First|_], B = [Second|_].

?- grab_letter([apple,pie]).

true ?


How do I get it to print "a"?










share|improve this question



















  • 1





    atom_chars/2 is your friend !

    – joel76
    Mar 21 at 8:20











  • What about ''? There is an atom that does not have a first character.

    – repeat
    Mar 21 at 20:05















1















Print the first letter of two atoms in a list. I can't even get the first letter of one of the two atoms in the list to print.



grab_letter([],[]).
grab_letter([A],[B]) :- A = [First|_], B = [Second|_].

?- grab_letter([apple,pie]).

true ?


How do I get it to print "a"?










share|improve this question



















  • 1





    atom_chars/2 is your friend !

    – joel76
    Mar 21 at 8:20











  • What about ''? There is an atom that does not have a first character.

    – repeat
    Mar 21 at 20:05













1












1








1








Print the first letter of two atoms in a list. I can't even get the first letter of one of the two atoms in the list to print.



grab_letter([],[]).
grab_letter([A],[B]) :- A = [First|_], B = [Second|_].

?- grab_letter([apple,pie]).

true ?


How do I get it to print "a"?










share|improve this question
















Print the first letter of two atoms in a list. I can't even get the first letter of one of the two atoms in the list to print.



grab_letter([],[]).
grab_letter([A],[B]) :- A = [First|_], B = [Second|_].

?- grab_letter([apple,pie]).

true ?


How do I get it to print "a"?







prolog






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 21 at 17:06









false

10.4k773151




10.4k773151










asked Mar 21 at 4:18









SuguruDabSuguruDab

64




64







  • 1





    atom_chars/2 is your friend !

    – joel76
    Mar 21 at 8:20











  • What about ''? There is an atom that does not have a first character.

    – repeat
    Mar 21 at 20:05












  • 1





    atom_chars/2 is your friend !

    – joel76
    Mar 21 at 8:20











  • What about ''? There is an atom that does not have a first character.

    – repeat
    Mar 21 at 20:05







1




1





atom_chars/2 is your friend !

– joel76
Mar 21 at 8:20





atom_chars/2 is your friend !

– joel76
Mar 21 at 8:20













What about ''? There is an atom that does not have a first character.

– repeat
Mar 21 at 20:05





What about ''? There is an atom that does not have a first character.

– repeat
Mar 21 at 20:05












1 Answer
1






active

oldest

votes


















3














The ISO Prolog standard specifies a sub_atom/5 built-in predicates that can decompose an atom into a sub-atom. The first argument is the atom, the second argument is the number of characters before the sub-atom, the third argument is the length of the sub-atom, the fourth argument is the number of characters after the sub-atom, and the fifth argument is the sub-atom. For example:



| ?- sub_atom(apple, 0, 1, _, First).

First = a
yes

| ?- sub_atom(pie, 0, 1, _, First).

First = p
yes


You can call this predicate from your code that processes the list containing the atoms. Can you give it a try and edit your question with the updated code?



Using in alternative the also standard atom_chars/2 predicate, as suggested in a comment, is not a good idea as it results in creating a temporary list (that will eventually be garbage-collected) just to access the first character.






share|improve this answer

























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55273722%2fprinting-first-letter-of-an-atom-prolog%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    The ISO Prolog standard specifies a sub_atom/5 built-in predicates that can decompose an atom into a sub-atom. The first argument is the atom, the second argument is the number of characters before the sub-atom, the third argument is the length of the sub-atom, the fourth argument is the number of characters after the sub-atom, and the fifth argument is the sub-atom. For example:



    | ?- sub_atom(apple, 0, 1, _, First).

    First = a
    yes

    | ?- sub_atom(pie, 0, 1, _, First).

    First = p
    yes


    You can call this predicate from your code that processes the list containing the atoms. Can you give it a try and edit your question with the updated code?



    Using in alternative the also standard atom_chars/2 predicate, as suggested in a comment, is not a good idea as it results in creating a temporary list (that will eventually be garbage-collected) just to access the first character.






    share|improve this answer





























      3














      The ISO Prolog standard specifies a sub_atom/5 built-in predicates that can decompose an atom into a sub-atom. The first argument is the atom, the second argument is the number of characters before the sub-atom, the third argument is the length of the sub-atom, the fourth argument is the number of characters after the sub-atom, and the fifth argument is the sub-atom. For example:



      | ?- sub_atom(apple, 0, 1, _, First).

      First = a
      yes

      | ?- sub_atom(pie, 0, 1, _, First).

      First = p
      yes


      You can call this predicate from your code that processes the list containing the atoms. Can you give it a try and edit your question with the updated code?



      Using in alternative the also standard atom_chars/2 predicate, as suggested in a comment, is not a good idea as it results in creating a temporary list (that will eventually be garbage-collected) just to access the first character.






      share|improve this answer



























        3












        3








        3







        The ISO Prolog standard specifies a sub_atom/5 built-in predicates that can decompose an atom into a sub-atom. The first argument is the atom, the second argument is the number of characters before the sub-atom, the third argument is the length of the sub-atom, the fourth argument is the number of characters after the sub-atom, and the fifth argument is the sub-atom. For example:



        | ?- sub_atom(apple, 0, 1, _, First).

        First = a
        yes

        | ?- sub_atom(pie, 0, 1, _, First).

        First = p
        yes


        You can call this predicate from your code that processes the list containing the atoms. Can you give it a try and edit your question with the updated code?



        Using in alternative the also standard atom_chars/2 predicate, as suggested in a comment, is not a good idea as it results in creating a temporary list (that will eventually be garbage-collected) just to access the first character.






        share|improve this answer















        The ISO Prolog standard specifies a sub_atom/5 built-in predicates that can decompose an atom into a sub-atom. The first argument is the atom, the second argument is the number of characters before the sub-atom, the third argument is the length of the sub-atom, the fourth argument is the number of characters after the sub-atom, and the fifth argument is the sub-atom. For example:



        | ?- sub_atom(apple, 0, 1, _, First).

        First = a
        yes

        | ?- sub_atom(pie, 0, 1, _, First).

        First = p
        yes


        You can call this predicate from your code that processes the list containing the atoms. Can you give it a try and edit your question with the updated code?



        Using in alternative the also standard atom_chars/2 predicate, as suggested in a comment, is not a good idea as it results in creating a temporary list (that will eventually be garbage-collected) just to access the first character.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 21 at 8:45

























        answered Mar 21 at 8:40









        Paulo MouraPaulo Moura

        12.8k21426




        12.8k21426





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55273722%2fprinting-first-letter-of-an-atom-prolog%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

            은진 송씨 목차 역사 본관 분파 인물 조선 왕실과의 인척 관계 집성촌 항렬자 인구 같이 보기 각주 둘러보기 메뉴은진 송씨세종실록 149권, 지리지 충청도 공주목 은진현