裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

Julia で R の deparse() みたいなもの

2021年01月22日 | ブログラミング

ちょっと探しても見つからないし,Julia 自体が,変数のタイプがなんなのかは typeof() でわかるんだけど,それに応じて別々の処理をしようとしてもできない。

if typeof(x) == String なんてのができないということ。

そこで,こねくり回して以下のような関数をでっち上げた。

主たる目的は,行列の場合には書式に従って,変数名も一緒にして,綺麗に出力するということだ。変数名を文字列で渡す。

using Printf

function dumplist(argument::String)
    ndims(arg::String) = true
    value = eval(Meta.parse(argument))
    try
        nr, nc = size(value)
    catch
        println("$argument = $value")
        return
    end
    println("----- $argument -----")
    nr, nc = size(value)
    for i = 1:nr
        for j = 1:nc
            @printf("%10.5f", value[i, j])
        end
        print("\n")
    end
end

julia> a = [1 2;3 4]; dumplist("a")
----- a -----
   1.00000   2.00000
   3.00000   4.00000

julia> b = 123.2; dumplist("b")
b = 123.2

julia> c = "string"; dumplist("c")
c = string

julia> d = [1,2,3]; dumplist("d")
d = [1, 2, 3]

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村