フォーマット化

SymbolicCは,生成されたCの出力を自動的にフォーマットする.このセクションでは,出力に自分自身のスタイルを付けるためのフォーマットの方法について見ていく.

原子入力

変数や数字等の原子入力は,一般的なWolfram言語の入力あるいは文字列として渡すことができる.

まずパッケージをロードしなくてはならない.

In[1]:=
Click for copyable input

変数はWolfram言語記号として入力することができる.ToCCodeStringがCにフォーマットされた出力を作成する.

In[2]:=
Click for copyable input
Out[2]=

変数はWolfram言語の文字列として入力することもできる.

In[3]:=
Click for copyable input
Out[3]=

整数は直接入力することができる.

In[4]:=
Click for copyable input
Out[4]=

浮動小数点数も直接入力できる.

In[5]:=
Click for copyable input
Out[5]=

数字は指数表現を使った出力であることがある.

In[6]:=
Click for copyable input
Out[6]=

もちろん文字列を使って結果を作成することもできる.

In[7]:=
Click for copyable input
Out[7]=

数値の型を指定したい場合には,CConstantを使うとよい.

In[8]:=
Click for copyable input
Out[8]=

文字列

CStringのラッパを使って文字列をCコード内に出力することができる.

まずパッケージをロードしなくてはならない.

In[1]:=
Click for copyable input

Cの文字列を作成する.

In[2]:=
Click for copyable input
Out[2]=

コメント

さまざまな方法でコメントの形式を変更することができる.

まずパッケージをロードしなくてはならない.

In[1]:=
Click for copyable input

コメントを出力する.コメントの内容の前後にはスペースが入れられる.

In[8]:=
Click for copyable input
Out[8]=

コメントの前にスペースを入れて,結果をその後に表示させることができる.

In[10]:=
Click for copyable input
Out[10]=

文と式

SymbolicCは,文(何も返さない)と式(結果を返す)を区別しようとする.

まずパッケージをロードしなくてはならない.

In[1]:=
Click for copyable input

宣言等の文を文字列に変換する場合,以下のように文の最後にセミコロンと改行が入れられる.

In[2]:=
Click for copyable input
Out[2]=

式がフォーマットされる場合には,セミコロンや改行は加えられない.

In[3]:=
Click for copyable input
Out[3]=

セミコロンと改行を加えたい場合は,引数をリストの中に置くとよい.

In[4]:=
Click for copyable input
Out[4]=
In[5]:=
Click for copyable input
Out[5]=

ブロックに文を入れたい場合はCBlockを使うとよい.

In[6]:=
Click for copyable input
Out[6]=

CBlock等のコンストラクトは,その引数を文に自動的に変換する.

CExpression

CExpressionによって,Wolfram言語のフォーマット化の関数CFormを使って生成したCコードを含むことができる.

まずパッケージをロードしなくてはならない.

In[1]:=
Click for copyable input

結果はCFormによって生成される.

In[2]:=
Click for copyable input
Out[2]=

以下のSetの式のように入力が評価する場合は,HoldFormを使わなくてはならない.

In[3]:=
Click for copyable input
Out[3]=

引数をリストに挿入することによって,セミコロンを入れることができる.

In[4]:=
Click for copyable input
Out[4]=