Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Emacs Lisp. Вывод действительных чисел  (Прочитано 919 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HirurG.

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Добрый день! Пишу лабораторную работу по Лиспу, в которой должно производиться табулирование функции, т.е. вывод вида:
f(x1)=y1;
f(x2)=y2;
...
f(xn)=yn

Программу пишу в Emacs Lisp. Подскажите, как сделать вставку в строку действительных чисел? Emacs при выводе всё округляет до целой части :(
Вот мой код (последняя строка для запуска функции):
(defun tab(x0 xk h)
  (cond
    ((> (+ x0 (/ h 2.0)) xk) "end")
    ((and (> x0 -1.0001) (< x0 -0.9999)) (message "f(%d) = nil;\n%s" x0 (tab (+ x0 h) xk h)))
    (t (message "f(%d) = %d;\n%s" x0 (* (/ 1.0 (+ x0 1)) (tan (/ (* pi x0) 7.0))) (tab (+ x0 h) xk h)))
  )
)

(tab -1.5 -0.5 0.1)

andrey_p

  • Гость
Re: Emacs Lisp. Вывод действительных чисел
« Ответ #1 : 16 Марта 2012, 12:01:39 »
Замени %d на %f или %g.

C-h i m Elisp и там ищи formatting strings.

Оффлайн HirurG.

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Emacs Lisp. Вывод действительных чисел
« Ответ #2 : 16 Марта 2012, 12:05:57 »
Спасибо огромное! :D Оба способа работают! Странно почему я их сам не нагуглил  ??? пару дней убил на поиск подходящего способа

 

Страница сгенерирована за 0.054 секунд. Запросов: 25.