Экспортируйте пользовательские отформатированные выражения из Mathematica

Ваши критерии звучат о праве, но всегда немного нечетки. Например, Java оба компилируется (в байт-код) и затем интерпретируется (JVM). Все же это обычно не категоризируется как язык сценариев.

Это могло бы быть то, потому что Java со статическим контролем типов. Принимая во внимание, что JavaScript, Ruby, Python, Perl, и т.д. не (все из которых часто называют языками сценариев).

7
задан Ellie Kesselman 10 December 2011 в 04:37
поделиться

1 ответ

Это задание для удивительно малоизвестной функции Splice . Сначала вы создаете файл шаблона с расширением ". Mf" , например так:

file = "test.mf";

out = OpenWrite[file];

WriteString[out, "MH1 = <* form *>"];

Close[out];

Теперь, когда вы используете Splice , Mathematica автоматически заменит все, что находится между <* и *> разделители с его оцененной формой. Итак, если вы установите

form = 4 + b9^2 + c1^5 + c4^5 + h10^4 + j2 + k10^4 + p10^4 + q5^5 + 
       q8 + s3^3 + s7^2 + t6^3 + u3^2 + u9^3 + x8^4 + z2^3;

и вызовете

Splice["test.mf", PageWidth -> 72];

, который автоматически сделает вывод о том, что вам нужен вывод FortranForm из расширения файла, и который позволяет вам установить PageWidth в качестве опции, вы получите довольно приличный результат в автоматически сгенерированном файле "test.f" (обратите внимание на новое расширение):

MH1 =         4 + b9**2 + c1**5 + c4**5 + h10**4 + j2 + k10**4 + p10**4 + 
    -  q5**5 + q8 + s3**3 + s7**2 + t6**3 + u3**2 + u9**3 + x8**4 + 
    -  z2**3

Дополнительные параметры см. в документации для Splice (изменение имя выходного файла и т.п.).

8
ответ дан 7 December 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: