如何在LPA prolog中以大写字母转换原子的第一个字母?我知道的唯一方法是使用'lwrupr'。但它将所有字母都大写。
答案 0 :(得分:2)
我没有LPA Prolog可用,但这是一个有根据的猜测,因为快速阅读参考手册:从原子的第一个字母,使其大写,并重建单词
first_char_uppercase(WordLC, WordUC) :-
atom_chars(WordLC, [FirstChLow|LWordLC]),
atom_chars(FirstLow, [FirstChLow]),
lwrupr(FirstLow, FirstUpp),
atom_chars(FirstUpp, [FirstChUpp]),
atom_chars(WordUC, [FirstChUpp|LWordLC]).
在SWI-Prolog中,我们可以测试它如何定义缺少的内置lwrupr / 2
lwrupr(Low, Upp) :- upcase_atom(Low, Upp).
我们得到了
?- first_char_uppercase(carlo,X).
X = 'Carlo'.
?- first_char_uppercase('Carlo',X).
X = 'Carlo'.