2013-07-23 2 views
0

При написании на Java в Mathematica (с использованием J/Link) я использую синтаксис Java или Mathematica для инструкции If-Then?Правильный синтаксис для оператора «if» в J/Link

Этот вопрос не касается какого-либо конкретного кода. Ответ должен быть одинаковым, независимо от используемого кода. Я знаю, как писать, используя любой синтаксис, я просто не знаю, какой из них использовать.

+3

предоставление кода, дающего вам проблемы, может помочь. – BevynQ

+0

Отправьте код, чтобы мы все могли видеть. Я предполагаю, что он не работает из-за какой-либо другой ошибки, которую вы делаете (например, используя == для сравнения строк вместо равных). – duffymo

+7

Я не думаю, что код помогает здесь; должен ли JLink использовать синтаксис Mathematica или Java? Я полагаю, что примеры этих двух можно было бы дать, но они не будут более понятны. Правильный комментарий: «Ну, вы пробовали очевидные заявления в каждом синтаксисе, чтобы увидеть, что работает?» –

ответ

2

Вы не можете написать java внутри Mathematica. J/Link просто позволяет вам вызывать функции Java через Mathematica и манипулировать объектами Mathematica, созданными на основе объектов Java. (http://reference.wolfram.com/mathematica/JLink/tutorial/CallingJavaFromMathematica.html#15615)

Следовательно, вы будете писать инструкции if в синтаксисе Mathematica. If[condition, t, f]

На боковой ноте другая сторона J/Link позволяет использовать Mathematica с Java. Аналогично, вы будете писать java там в большинстве своих кодов и называть что-то по строкам ml.Evaluate("If[condition, t, f]"), если вам нужно вычислить с помощью Mathematica. Для всех, кто заинтересован, .NET/Link работает одинаково.

+0

Собственно, вы можете написать свои собственные классы Java внутри Mathematica. В основном я использую эту страницу в качестве руководства: http://www.mathematica-journal.com/issue/v9i1/contents/UI_With_JLink/UI_With_JLink_3.html Однако они никогда не охватывают утверждения If-Then. – MattS

+1

Извините, если я не был ясен, то, что я получаю, - это строка из вашей статьи: «мы пишем тот же код, который мы будем писать на Java, за исключением использования синтаксиса Mathematica». Обратите внимание, что все по-прежнему является синтаксисом Mathematica, поэтому вместо 'button.SetSize (100, 30)' вы используете кнопку @ SetSize [100, 30]. –

Смежные вопросы