<?xml version="1.0" encoding="UTF-8"?>

<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="intppty">

    <refnamediv>

        <refname>intppty</refname>

        <refpurpose>プロパティを指定するインターフェイス引数を指定</refpurpose>

    </refnamediv>

    <refsynopsisdiv>

        <title>呼出し手順</title>

        <synopsis>funs=intppty()

            intppty(fun)

        </synopsis>

    </refsynopsisdiv>

    <refsection>

        <title>引数</title>

        <variablelist>

            <varlistentry>

                <term>fun</term>

                <listitem>

                    <para>
                        整数, インターフェイス番号 (<link linkend="funptr">funptr</link>参照)
                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>funs</term>

                <listitem>

                    <para>整数ベクトル, インターフェイス番号のベクトル

                        (<link linkend="funptr">funptr</link>参照)
                    </para>

                </listitem>

            </varlistentry>

        </variablelist>

    </refsection>

    <refsection>

        <title>説明</title>

        <para>

            インターフェイスプログラムでは,関数の引数を渡す手順を

            2種類の異なる手法で記述することができます.

        </para>

        <para>

            最初のデフォルトの方法の場合,

            引数は値で渡されます.

            これは以下の構文となります:

        </para>

        <programlisting role="no-scilab-exec"><![CDATA[
foo(A,1+2)
 ]]></programlisting>

        <para>

            <literal>A</literal>で指定した引数は値で渡され

            (<literal>foo</literal>がコールされる前に

            <literal>A</literal>のコピーが作成されます),

            <literal>1+2</literal>で指定した引数も値で渡されます.

        </para>

        <para>

            2番目の方法では,"名前付きの引数"がある場合,

            引数をリファレンスで渡すことができます

            (変数の値のコピーは行われません).



            <literal>fun&gt;0</literal>を指定して<literal>intppty(fun)</literal>とすると,

            番号 <literal>fun</literal>のインターフェイスにより

            リファレンスに渡しの引数を処理できることがScilabに伝えられます.

            以下の構文の場合:

        </para>

        <programlisting role="no-scilab-exec"><![CDATA[
foo(A,1+2)
 ]]></programlisting>

        <para>

            <literal>A</literal> が指す引数はリファレンス渡しされ,

            <literal>1+2</literal> が指す引数は値で渡されます.

        </para>

        <para>

            <warning>

                番号<literal>fun</literal>のインターフェイスを宣言することにより,

                予測不能な結果を生み出す場合でない限り,

                リファレンス渡しの引数を処理できることに注意してください.

            </warning>

        </para>

        <para>

            <literal>fun&lt;0</literal>の場合の<literal>intppty(fun)</literal>は

            インターフェイス<literal>-fun</literal>に関して

            その使用を停止します.

        </para>

        <para>

            <literal>intppty()</literal> は,

            参照渡しされる引数を処理するインターフェイスのベクトルを返します.

        </para>

        <para>

            この関数は動的にロードされるインターフェイスの場合に有用です

            (<link linkend="addinter">addinter</link>参照).

        </para>

    </refsection>

    <refsection role="see also">

        <title>参照</title>

        <simplelist type="inline">

            <member>

                <link linkend="funptr">funptr</link>

            </member>

            <member>

                <link linkend="addinter">addinter</link>

            </member>

        </simplelist>

    </refsection>

</refentry>

