Форум программистов, компьютерный форум, киберфорум
Wolfram Mathematica
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 2

Как вывести имя переменной, а не саму переменную?

07.04.2016, 17:10. Показов 2586. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна функция выводящая имя переменной, что-то вроде MyPrint[x_]:=Print["x"]
только она будет всегда выводить х. А мне нужно, чтобы она вывела название переменной. Может есть такая встроенная, только я о ней не знаю =(
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2016, 17:10
Ответы с готовыми решениями:

Как выбрать переменную, если ее имя в другой переменной?
Добрый вечер! Есть такая ситуация. Допустим в переменной aaa содержится 10, в переменной bbb содержится 20. Есть список с параметрами:...

Как объявить переменную, имя которой находится в другой переменной
В переменной X находится имя другой переменной D. Требуется объявить эту переменную как тип STRING. Присвоить что-нибудь и напечатать....

Как вывести имя переменной?
#define PRINT(var_) std::cout << #var_ << ": " << var_ << std::endl; template<typename T> void print(T obj) { PRINT(obj); } ...

3
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,204
Записей в блоге: 24
07.04.2016, 19:17
Haskell
1
2
SetAttributes[MP, HoldAll];
MP[x_Symbol] := Print[Unevaluated[x]];
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 2
08.04.2016, 18:26  [ТС]
Отлично! Работает, спасибо большое)

Добавлено через 19 часов 5 минут
Усложняю задачу:
имеем последовательность

Haskell
1
2
3
4
5
6
sequence = {{Logcmh2Min, LogcmviMax}, {LogcmviMin, Logcmh2Max}, {Logh2Min, 
    LogviMax}, {LogviMin, Logh2Max},
   {TTcmh2Min, TTcmviMax}, {TTcmviMin, TTcmh2Max}, {TTh2Min, 
    TTviMax}, {TTviMin, TTh2Max},
   {Xbcmh2Min, XbcmviMax}, {XbcmviMin, Xbcmh2Max}, {Xbh2Min, 
    XbviMax}, {XbviMin, Xbh2Max}};
считаем каждую переменную последовательности отдельно и
проверяем пары последовательности на удовлетворение условию
Haskell
1
caselist = Cases[sequence, {min_, max_} -> min > max];
находим номера нужных пар
Haskell
1
If[MemberQ[caselist, True], Position[caselist, True]]
А теперь вопрос к знатокам:
Как вытянуть названия пар (например, {TTcmviMin, TTcmh2Max} ) из sequence, имея теперь их номера?
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,204
Записей в блоге: 24
09.04.2016, 02:04
Лучший ответ Сообщение было отмечено cure4hedgehog как решение

Решение

Боюсь, что это сделать не очень легко. В принципе, можно использовать Hold для того, чтобы удерживать выражение от ненужных вычислений, напр.
Haskell
1
2
Cases[Hold[{Logcmh2Min, LogcmviMax}, {LogcmviMin, Logcmh2Max}, {Logh2Min, LogviMax}, {LogviMin, Logh2Max}, {TTcmh2Min, TTcmviMax}, {TTcmviMin, TTcmh2Max}, {TTh2Min, TTviMax}, {TTviMin, TTh2Max}, {Xbcmh2Min, XbcmviMax}, {XbcmviMin, Xbcmh2Max}, {Xbh2Min, XbviMax}, {XbviMin, Xbh2Max}],
    {a_, b_} :> If[a > b, Print[Unevaluated[a]]]]
и наоборот, для форсированных вычислений использовать With, напр.
Haskell
1
With[{seq = sequence}, Cases[Hold[seq], {a_, b_} :> If[a > b, Print[Unevaluated[a]]]]]
и, наконец, можно использовать Block для того, чтобы контролировать, что вычислять, а что — нет.

По-моему, выбранный путь не самый удачный, в WM можно легче достичь того же результата.
К примеру, можно составить словарь строка-значение вида {{"TTcmviMin", TTvmviMin}, ...} и делать выборку по значению, а вывод по имени (как в SQL сначала WHERE, потом SELECT)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2016, 02:04
Помогаю со студенческими работами здесь

Вывести в html саму переменную value, чтобы используя код asp, можно было сделать нужный запрос
Добрый день! У меня возникла следующя небольшая проблема. Есть фунеция function onChangeEvent(p){ switch (p.name){ case...

Как вывести имя переменной, передаваемой в фукцию?
Как это сделать? void func(int arg) { cout << } int main() { int a1 = 1;

Как вывести имя переменной, переданной в метод
Всем привет! Как вывести имя переменной, которое определено в -main-, в методе -printName-?: public class SimpleTest { public...

Создать две переменных, ввести их с клавиатуры. Вывести строки: имя переменной - адрес переменной - значение п
Создать две переменных, ввести их с клавиатуры. Вывести строки: имя переменной - адрес переменной - значение переменной.

Вывести имя переменной и значение данной переменной
К примеру, есть переменные x1=1,x2=2,x3=4,x4=5; и в них я ищу максимальное значение v=max() disp(v). Но как помимо числа, вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru