Col関数への入力に列のリストを使用する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ユーザー入力に基づいて新しい列を生成するためのスクリプトを作成しようとしています。入力はダイアログボックスからのもので、列名のリストの形式です。例えば:
Cols = {:データ、:1まで、:2まで};
Col Number式を含む式で新しい列 "n"を作成します。
新しい列( "n"、式(Col Number(:Data、:By 1、:By 2)));
しかし、私は式を得ることにこだわっています
列番号({:Data、:By 1、:By 2})
あれはと中括弧。エラーは返されませんが、数式は評価されません。
Col関数の入力として列のリストを使用する方法
列数を変えてもかまいません。
再:Col関数への入力のための列のリストの使用どうもありがとうございましたあなたの最初の提案はもっとエレガントなもので私の最初の問題を解決しました、しかしあなたの2番目の提案は私の第二の問題を解決しました、私はまだ提起しませんでした。
再:Col関数への入力のための列のリストの使用あるいは、上記のようにExpressionを構築する代わりに、リストの内容を解析可能な文字列に組み込むことができます。この例では、中括弧は「代入」を使用して削除されます。
コルズ = { : データ 、 : 1まで 、 : 2までに } ;
の = "新しい列(\!" n \!"、式(列番号(" || 代替 ( チャー ( コルズ ) 、 "{" 、 「」 、 "}" 、 「」 ) || ")))" ;
評価 ( 解析する ( の ) ) ;
文字列のアプローチは単純明快で通常は機能しますが、文字列が大きくなるとコードがデバッグに失望する可能性があります。
再:Col関数への入力のための列のリストの使用これを行う1つの方法は次のとおりです。
コルズ = { : データ 、 : 1まで 、 : 2までに } ;
f = 経験値 ( コル番号 () ) ;
にとって ( 私 = 1 、私 <= N個のアイテム ( コルズ ) 、私 ++、
に挿入 ( f 、コルズ [ 私 ] )
) ;
新しいコラム ( "n" 、式 ( 名前Expr ( f ) ) ) ;