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

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript