所以我必须编写一个递归函数,用前一个函数用字母替换给定的单词列表。那部分完美无缺。但是我还必须在列表前面添加<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="user" type="com.example.User"/>
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.lastName}"/>
</LinearLayout>
</layout>
符号,并在列表后面添加相同的符号和'|'
符号。我现在有这个代码:
'\n'
这会将每个字母前面的第一个符号和列表后面的两个其他符号放置多次。如何在此函数中仅将这些符号添加到列表的开头和结尾一次?
答案 0 :(得分:0)
这不是解决问题的正确方法(遵循评论中推荐的map
方法),但要显示处理具有不同的第一个和最后一个行为的递归函数的一种方法
showRow [] = []
showRow x = go x True
where go x True = '|': go x False
go [] _ = "\n"
go (x:xs) _ = (showCell x) ++ ('|': go xs False)
虚拟布尔值触发初始值处理,空列表触发最终值处理。