字符串的 Foreach 循环

字符串的 Foreach 循环

我该怎么写

foreach triple ti in Q  do  
Q <- M 

在乳胶中我尝试过

\foreach \triple ti in {Q} {Q \gets M} 

但它不起作用
我希望结果显示如下这是一种写在报告中的算法

“..... Foreach 三元组模式 ti ∈ Q Do

问<-M“...

    \documentclass{article}
\usepackage{amsmath}
\usepackage[linesnumbered,ruled]{algorithm2e}

\begin{document}

    \begin{algorithm}
    \SetKwInOut{Input}{Input}
    \SetKwInOut{Output}{Output}
   {MFS} $(Q,D)$\;
    \Input{ A failing Query Q = t1$\wedge$t2$\wedge$...$\wedge$tn and RDF Database D ;}
    \Output{An MFS denoted by Q* ;}
    Q $\gets$ Q* ; \\
    Q' $\gets$ Q* ; \\


    \caption{Find An MFS in a failing SPARQL Query}



\end{algorithm}
\end{document} 

我想要这个结果

图像

答案1

你需要使用\ForEach{<condition>}{<stuff>}

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}
\usepackage[ruled,vlined]{algorithm2e}

\begin{document}

\begin{algorithm}
  \caption{Find an \texttt{MFS} of a failing \texttt{SPARQL} query~$Q$}
  \SetKwInOut{Input}{inputs}
  \SetKwInOut{Output}{output}
  \SetKwProg{FindAnMFS}{FindAnMFS}{}{}

  \FindAnMFS{$(Q,D)$}{
    \Input{A failing query $Q = t_1 \wedge \dots \wedge t_n$; an \texttt{RDF} database $D$}
    \Output{An \texttt{MFS} denoted by $Q^*$}
    $Q^* \gets \emptyset$\;
    $Q' \gets Q$\;
    \ForEach{triple pattern $t_i \in Q$}{%
      $Q' \gets Q' - t_i$\;
      \If{$[[Q' \wedge Q^*]]_D \neq \emptyset$}{%
        $Q^* \gets Q^* \wedge t_i$\;
      }
    }
    \KwRet{$Q^*$}\;
  }
\end{algorithm}

\end{document} 

我还定义了一个程序调用\FindAnMFS以获取外部块。

相关内容