Unicode をシンボルに変換する列の式シンボルの Unicode ショートカットを含む列を持つ JMP テーブルを作成し、JMP に別の列にシンボル (数式付き) を表示させたいと考えています。以下のスクリーンショットでは、列が必要です表示される列を使用する数式を作成するにはユニコード入力として入力し、表示されたシンボルの結果を示します。
以下の表は、Alt+Code を手動で入力して作成されました。
列数式でそれを行う方法がわかりません。 助けていただければ幸いです

マスカスタマイゼーション品質およびプロセスエンジニアリングRe: +Re: Unicode をシンボルに変換するための列式こんにちは@Craige_Hales 、
「\!」を強制する方法について説明していただきありがとうございます。逃げる。 さまざまなオプションを試しましたが、まったく正しく機能しませんでした。しかし、その説明は、エスケープと連結の両方で物事をどのように変更する必要があるかを理解するのに役立ちました。
ありがとう!、
DS
Re: +Re: Unicode をシンボルに変換するための列式@Craige_Hales 、
解析時と実行時に何が起こるかを示す素晴らしい例と説明。
スタン
+Re: Unicode をシンボルに変換するための列式逃げる!
hex = "03D0";
uni = "\[\!U]\";
// or
// uni = "\!\!U";
quotationmark = "\!"";
beta = eval(parse( quotationmark || uni || hex || quotationmark ));
文字列 \!U を構築するにはエスケープが必要なので、JMP は U をそこに置く前に、U の後の 16 進数を見つけようとしません。 これは実行時ではなく解析時に行われるため、上記の uni で文字列が構築されると、それは単なる通常のテキストになります。 解析が文字列を再度スキャンするまで。 ただし、そのためには、引用符を含む "\!U03d0" となる JSL の有効なスニペットが必要です。 引用符を取得するには、さらにエスケープします。 文字列は解析され、Unicode 文字として評価されます。 eval の結果は Unicode 文字であり、ベータに割り当てられます。
最初のエスケープは \[ ... ]\ を使用して、「間にあるものを解釈しない」ことを意味します。 2 番目の例では、\!\ を使用してリテラルの \ を作成し、その後 ! Uは単なる普通のキャラクターです。
Re: Unicode をシンボルに変換するための列式こんにちは@Craige_Hales 、
これに関する情報をありがとう。非常に興味深くて役に立ちました。
ただし、理解できないことの 1 つは、16 進数を使用して \!U コマンドを強制する方法です。 先ほど参照した Web サイトのような列があり、エントリがすべて U+16 進数であるとします。例: Beta = U+03D0
次のような方法で列内のテキストを分割できます。
Word(1,:Character,"+")||Word(2,:Character,"+")
これにより、出力は U03D0 になります。
しかし、これを Parse() コマンドの前に \!U を付けて記述しようとすると、JMP が私に文句を言います。 Parse("\!U03D0") がベータ版であることはわかりました。 私にとって難しいのは、\!U を 16 進コードに連結できないことです。 たとえば、試してみます
Parse("\!U"||Word(1,:Character,"+")||Word(2,:Character,"+"));JMPは文句を言う。 Parse コマンド内の内容を文字通り「\!U03D0」にして、これに対して parse を実行すると実際に評価してベータ版を返すようにしたいと考えています。 これを別の JSL スクリプトではなく列数式として行う方法を考えようとしているところです。
ありがとう!、
DS
Re: Unicode をシンボルに変換するための列式または、次のようなものが必要になるかもしれません
txt = "038F";
code = Hex To Number( txt );
mat = J( 1, 1, code );
blob = Matrix To Blob( mat, "int", 2, "little" );
string = Blob To Char( blob, "utf-16" );
Show( string );
文字列 = "Ώ";
ブラウザがサポートしている場合は、次のようになります。 http://www.fileformat.info/info/unicode/char/038f/index.htm
上記の JSL は、txt 内の印刷可能な 16 進表現を取得し、その数値を取得し、Matrix to Blob 用の 1 要素の行列 (もっとあればもっと多くてもよい) を作成し、UTF で文字の番号を保持する BLOB を使用します。 16 形式を使用して実際の Unicode 文字を作成します。
または、\!U を使用して 16 進数を JSL 文字列に入れて解析することもできます。
Re: Unicode をシンボルに変換するための列式何かのようなもの
beta = "\!U0392";
theta = "\!U0398";
または多分
Open(
"http://www.fileformat.info/info/unicode/block/greek_and_coptic/list.htm",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
それは
Table loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLURLからロードされたテーブル
私はキャラクターを見つけるためのあのサイトが好きです。 JMP の \!U バージョンを彼らのバージョンから作成する
http://www.fileformat.info/info/unicode/char/3b2/index.htm

U+0392 が表示されますが、JMP では \!U0392 が使用されます。
返信: +Re: Unicode を記号に変換する列式はい、これですか?

ありがとう!
返信: +Re: Unicode を記号に変換する列式そうですね。私はこのようにマトリックス-ブロブ変換でやります
linelength = 32; // break lines every 32 characters
mat = 0 :: 65535; // useful to start at 0, but null is a problem...
mat[1] = Hex To Number( "2400" ); // fixup null character
mat = Shape( mat, N Cols( mat ) / linelength ); // reshape to concatenate new lines
mat = mat || J( N Rows( mat ), 1, 10 ); // newlines(10 decimal is 0A hex) every linelength
blob = Matrix To Blob( mat, "int", 2, "little" ); // little endian 16 bit matches utf-16
string = Blob To Char( blob, "utf-16" ); // done!
Show( string );
取得するため
many characters removed for this picture! Using notepad and a notosans font.many characters removed for this picture! Using notepad and a notosans font.many characters removed for this picture! Using notepad and a notosans font.この写真では多くの文字が削除されています。メモ帳と notosans フォントを使用しています。
返信: +Re: Unicode を記号に変換する列式ありがとう、クレイグ!
返信: +Re: Unicode を記号に変換する列式このフォームを整理するより良い方法はあるでしょうか?専門家の助言と指導を心よりお願い申し上げます。
https://community.jmp.com/t5/Discussions/How-to-organize-this-non-standard-form/mp/754705#M93693
https://community.jmp.com/t5/Discussions/How-to-organize-this-non-standard-form/m-p/754705#M93693
ありがとう、クレイグ!