LINUX.ORG.RU

Сообщения saufesma

 

Как переименовать title in McCLIM

Как переименовать title

(in-package :common-lisp-user)
(defpackage "WORD"
(:use :clim :clim-lisp)
(:export "WORD-MAIN"))
(in-package :word)
(define-application-frame word		;name
    ()					;superclasses
  ()					;slots
  ;; options
  (:panes				;panes option
   (title				;pane name 
    :title)	;pane type, такое, :title "bla bla", не пролезит
   (document				;pane name
    :application))			;pane type
  (:layouts				;layouts option
   (default				;layout name
       (vertically ()			;layout macros
	 (1/8 title)
	 (7/8 document)))))
(defun word-main ()
(run-frame-top-level (make-application-frame 'word :height 300 :width 300)))

Здесь написано много http://bauhh.dyndns.org:8000/clim-spec/28-2.html#_1488. Но как переименовать title нет.

Ну анонимусы, давайте!

 

saufesma
()

defgeneric :method option

(defgeneric dishes (obj)

(:method-combination progn)
;;;^^^^ option is available at http://www.lispworks.com/documentation/lw70/CLHS/Body/m_defgen.htm#defgeneric


(:method progn (obj)
;;;^^^ а эта опция где описана. 


(format t "- clean and dry.~&"))
(:method progn ((obj person))
(format t "- bring a person's dishes~&"))
(:method progn ((obj child))
(format t "- bring the baby dishes~&")))

 ,

saufesma
()

Вылетает Unbound variable

(defclass coloured ()
  (colour))

(defclass coloured-circle (circle coloured)
  ())

(defclass rectangle ()
  (height width))

(defclass circle ()
  (radius))

(defvar r)
(defmethod area-r ((r rectangle))
  (* (slot-value r 'height)
     (slot-value r 'width)))

(defvar c)
(defmethod area-c ((c circle))
  (* pi (expt (slot-value c 'radius) 2)))

(let ((r (make-instance 'rectangle)))
  (setf (slot-value r 'height) 2
	(slot-value r 'width) 3)
  (area-r r))

(let ((c (make-instance 'circle)))
	(setf (slot-value c 'radius) 4)
  (area-c c))

(defvar cc)
(let ((cc (make-instance 'coloured-circle)))
  (setf (slot-value cc 'radius) 9)
  (area-c cc))
CL-USER> (defvar cc)
CC
CL-USER> (let ((cc (make-instance 'coloured-circle)))
  (setf (slot-value cc 'radius) 9)
  (area-c cc))

254.46900494077323d0
CL-USER> (type-of cc)
; Evaluation aborted on #<UNBOUND-VARIABLE CC {100460B1B3}>. ->

 какова техника поиска, что я проморгал? 

 ,

saufesma
()

У кого нибудь есть такая книжка?

Understanding Clos : The Common Lisp Object System by Jo A. Lawless, Molly M.Miller, Digital Press, 1991. 193 pages 5-5558-064-5

 

saufesma
()

Модераторы, у меня, что то не так [нельзя добавить теги]

Мои темы не фонтан, запятые где попало, сумбурные мысли, я в курсе. Но это не помешало некоторым форумчанам понять их и корректно ответить. Спасибо им огромное.

Вопрос: Почему я не могу создавать темы с тегом mcclim, clos, и т.д.? Zhbert

 ,

saufesma
()

sbcl компилятор не доволен

(defpackage "APP"
  (:use :clim :clim-lisp)
  (:export "BUTTONS-MAIN"))

(in-package :APP)
(defvar arg)
(defun press (button)
  (accepting-values (*query-io* :own-window t)
    (format *query-io* "~A" arg)))
(defun squeeze (button)
  (accepting-values (*query-io* :own-window t)
    (format *query-io* "~A" arg)))

(define-application-frame buttons	;name
    ()					;superclasses
  ()					;slots
  ;; options
  (:panes (button 
	   (horizontally ()
	     (make-pane 'push-button
			:label "squeeze"
			:activate-callback #'squeeze)
	     (make-pane 'push-button
			:label "press"
			:activate-callback #'press))) 
	  (application			;pane name 
	   :application))		;pane type ... :application is an extended-stream-pane
  (:layouts (default			;layout name
	     (vertically ()		;layout macros
	       (1/8 button) (7/8 application)))
	    (alternate			;layout name
	     (horizontally ()		;layout macros
	       (1/8 button) (7/8 application)))))

(defun buttons-main ()
  (run-frame-top-level
   (make-application-frame 'buttons :height 10 :width 10)))

выдаёт


; file: ~/Documents/using-panes-layouts.lisp
; in: DEFUN PRESS
;     (DEFUN APP::PRESS (APP::BUTTON)
;       (CLIM:ACCEPTING-VALUES (*QUERY-IO* :OWN-WINDOW T)
;         (FORMAT *QUERY-IO* "~A" APP::ARG)))
; 
; caught STYLE-WARNING:
;   The variable BUTTON is defined but never used.<- BUTTON ;     используется в BUTTONS !!!!!!!!!!!!!
; 
; compilation unit finished
;   caught 1 STYLE-WARNING condition

; file: ~/Documents/using-panes-layouts.lisp
; in: DEFUN SQUEEZE
;     (DEFUN APP::SQUEEZE (APP::BUTTON)
;       (CLIM:ACCEPTING-VALUES (*QUERY-IO* :OWN-WINDOW T)
;         (FORMAT *QUERY-IO* "~A" APP::ARG)))
; 
; caught STYLE-WARNING:
;   The variable BUTTON is defined but never used. <- BUTTON ;     используется в BUTTONS !!!!!!!!!!!!!
; 
; compilation unit finished
;   caught 1 STYLE-WARNING condition
T

 , ,

saufesma
()

Как отремонтировать

Clozure CL


$ ./lx86cl64 --version
Version 1.12 (v1.12) LinuxX8664

(ql:quickload "scigraph")
(in-package :graph)
(setq raw-data '((0 0) (1 -1.5) (2 3) (3 22) (4 8) (5 22)))
(setq dataset (make-instance 'graph-data
:symbologies '(:line-symbol)
:data raw-data))
(setq graph
(make-instance 'annotated-graph
:title "Some Data"
:x-label "Fortnights"
:y-label "Furlongs"))
(add-dataset graph dataset)
(view-graphs (list graph))

Выдал

Stream #<BASIC-FILE-BINARY-INPUT-STREAM ("/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf"/7 ISO-8859-1) #x302005C8D58D> is private to #<PROCESS Frame Top Level(14) [Reset] #x302005C73FED>
   [Condition of type SIMPLE-ERROR]

Как отремонтировать?

 

saufesma
()

Написал прототип проблемы, а дальше ?

Прототип задачи решен. Только когда стал переписывать в GUI потерял смысл кода, б..., з..., как то так. Даже не знаю, что спрашивать. Согласен, бредятина. Может кто сталкивался с таким. А может форум менять надо.

Перемещено leave из development

 

saufesma
()

Solvespace в решении задач соосности валов

Проблема следующая.

Если рассчитывать соосность по ГОСТ 3325-85 для диаметров валов от 1 до 150 мм соосность получается в тысячных мм, что не каждый завод может сделать, а если может то ценник будет такой, что этот вал просто не нужен.

Для простоты, существует другой метод, никто не рассчитывает допуск соосности, а просто тупо берут 7-й квалитет и назначают допуски в зависимости от размеров вала по СТ СЭВ 145-75 и СТ СЭВ 177-75.

Возможно ты использовал Solvespace для проверки такого простого метода? Поделись опытом.

atsym

 

saufesma
()

Ошибка в переводе десятичных градусов в градусы минуты секунды

(defun rad-to-decimal-deg (alpha-rad)
  (/ (* alpha-rad 180) pi))

(rad-to-decimal-deg 0.0116) => 0.664631042351755
(rad-to-decimal-deg 0.0233) => 1.3349916626548182

(defun decimal-deg-to-dms (n)
  (setq d (round n))
  (setq m (* (- n d) 60))
  (setq s (- (* 3600 (- n d)) (* 60 m)))
  (format "%d° %d' %d''" d m s))

(decimal-deg-to-dms 0.664631042351755) => "1° -20' 0''"
(decimal-deg-to-dms 1.3349916626548182) => "1° 20' 0''"

Где ошибка не вижу.

Проверял вот так


(defun dms-to-rad (d m s)
  (+ (* d (/ pi 180))
     (* m (/ pi (* 180 60)))
     (* s (/ pi (* 180 60 60)))
     ))

            0˚8’0’’
(dms-to-rad 0 8 0) => 0.0023271056693257726
(rad-to-decimal-deg 0.0023271056693257726) => 0.13333333333333333
(decimal-deg-to-dms 0.13333333333333333) => "0° 8' 0''"

 

saufesma
()

Софт блокировки номеров на телефон

Блокировка в тел компаниях стоит денег. А есть инсталлируемая на телефон софта с помощью которой можно блокировать ненужные тел номера?

Перемещено Shaman007 из development

Перемещено Shaman007 из talks

 

saufesma
()

Старый, добрый, тёплый Interlisp

Не выдержал

Вот здесь, посмотрите что делается, как открывается редактор. Я в восторге. https://youtu.be/2qsmF8HHskg

Кто-нибудь когда-нибудь заглядывал сюда - https://interlisp.org/ , каково ваше мнение?

Здесь эти граждане в сборе https://youtu.be/x6-b_hazcyk

 

saufesma
()

Opengenera выдаёт: the local site is not the distribution site

Пытаюсь define site для Opengenera, а оно никак

здесь всё как по Running Open Genera 2.0 on Linux
Standalone Site: Yes No
The local site is not the distribution site
не знаю как выкрутиться.

 

saufesma
()

Не могу привести передаточную функцию к виду приведённому автором

  
Возможно ли из этого          
                                   Кс
  -------------------------------------------------------------------  
                           m
                   [1 + p  Σ  Ki τi / (1 – Ki)]  -  (1 – Кс) (1 – рτ)
                         i = 1    

получить вот это

                                                        1
                   ------------------------------------------------------   
                           m
                   1 + p  [Σ  Ki τi / (1 – Ki)  -  (1 – Кс) τ] / Кс   
                         i = 1   

 

saufesma
()

Интегрирование по частям

Граждане и гражданки ЛОР выручайте кто может с математикой. Интегрирование по частям. Пример

положим

x = u и

e^(x/2)dx = dv

тогда du = dx и

v = 2 e^(x/2) - вопрос как эта 2 перед e^(x/2) появилась, не похоже, что брали производную от e^(x/2).

integral xe^(x/2)dx = 2xe^(x/2) - 2 integral e^(x/2)dx = 2xe^(x/2) - 4e^(x/2) + C

Подскажите книжки в интернете где есть таблицы производных и интегралов.

 

saufesma
()

Как заставить goldendict произносить слова?

Вот такой вопрос.

 

saufesma
()

Кто нибудь использовал PC-LISP, PLOT

Тут нашёл старинную вещь

https://github.com/blakemcbride/PC-LISP

интересно знать, если кто этим пользуется.

И вот такая новая вещь

http://users.rcn.com/david-moon/PLOT3/

 

saufesma
()

Как работает Function: MAPPEND

Тут https://common-lisp.net/project/bdb/qbook/mycl-util/api/function_005FMYCL-UTI..., этот странный нерабочий код, или я ошибаюсь

(defun mappend (fn &rest lsts)
  "maps elements in list and finally appends all resulted lists."
  (apply #'append (apply #'mapcar fn lsts)))

(mapcar 'car '((3 4) (5 6))) ;; работает

append &rest sequences

(apply 'append (apply 'mapcar 'car '((3 4) (5 6)))) ;; это не работает, второго листа нет

(mappend 'car '((3 4) (5 6))) ;; не работает

(mappend '* '(((3 4)) ((5 6)))) и эта не работат

 

saufesma
()

Проблема с алгоритмом возведения в степень

(require 'debug)
(setq debug-on-quit t)
(setq x 2)
(setq n 3)
(setq r 1)
(while (< 0 n)
  (setq n (- n 1))
  (setq r (* r x)))   ;; такая версия нравится


(defun power (x n)
  (if (= 0 n)
      1
    (if (= 1 n)
	x
      (if (< 1 n)
	(setq r (* r (power x (- n 1))))))))
(trace-function 'power) ;; Lisp nesting exceeds ‘max-lisp-eval-depth’ не понятно где я накосячил аж Emacs виснет.
(power 2 3)

;;Этот алгоритм, просто супер, но результат, зараза, 7.9999999998
(defun pow (x n)
  (exp (* n (log x))))
(pow 2 3)

такие вот мысли. Нужно поменять expt x y в коде из-за её

If both arguments are integers and y is positive, the result is an integer; in this case, overflow causes truncation, so watch out. If x is a finite negative number and y is a finite non-integer, expt returns a NaN.

 

saufesma
()

Не пойму как работает trace в emacs

Код из trace.el.

;; (defun fact (n)
;;    (if (= n 0) 1
;;      (* n (fact (1- n)))))
;;  fact
;;
;;  (trace-function 'fact)
;;  fact
;;
;;  Now, evaluating this...
;;
;;  (fact 4)
;;  24=============>   это да
;;
;;  ...will generate the following in *trace-buffer*: ==>ничего подобного
;;
;;  1 -> fact: n=4
;;  | 2 -> fact: n=3
;;  | | 3 -> fact: n=2
;;  | | | 4 -> fact: n=1
;;  | | | | 5 -> fact: n=0
;;  | | | | 5 <- fact: 1
;;  | | | 4 <- fact: 1
;;  | | 3 <- fact: 2
;;  | 2 <- fact: 6
;;  1 <- fact: 24
;;

не могу разобраться как этим trace пользоваться.

 

saufesma
()

RSS подписка на новые темы