Matlabでは、eval
関数を使用して任意の文字列をコードとして評価できます。例えば。Matlab repr function
s = '{1, 2, ''hello''}' % char
c = eval(s) % cell
逆の操作を行う方法はありますか。任意の変数のリテラル文字列表現を取得しますか?つまり、s
をc
から復元しますか?
s = repr(c)
このようなrepr
機能のような 何かは、Pythonに組み込まれていますが、私はMatlabのでは、それのようなものに遭遇していませんでした、また私はそれを自分で実装する方法の明確な方法を参照しています。
私が知る最も近いことは、disp(c)
のようなものですが、c
の表現をプリントアウトしますが、リテラルコードフォーマットではなく「読み取り可能」フォーマットです。
私はこのように、おそらく他の方法でmatlabでそうすることはできないと思います。マントラ*の機能は第一級市民*のため、あなたはPythonでそれを行うことができます。これはmatlabの場合ではありません。 – percusse
なぜそれが制限要因ですか? –
これで、関数を引数として別の関数にプラグインすることはできません。例えば、関数ハンドルを 'functions()'関数を使って行うことができます。 – percusse