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
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
add a comment |
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
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
add a comment |
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
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
prolog
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
edited Mar 21 at 8:45
answered Mar 21 at 8:40
Paulo MouraPaulo Moura
12.8k21426
12.8k21426
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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