I.R
I.R (читается «ай-точка-ар») — адаптированное слово Каллисто. Напечатать целое число n на индикаторе в поле длиной c справа.
I.R ( n c −− ) Вывести целое n на индикатор в поле длиной c справа.
Печатает целое число n так, что младшая цифра занимает самое правое положение в выделенном поле, заданном числом c.
Ввод слова I.R[править]
В режиме ЛАТ последовательно нажмите три клавиши 7 P /−/ ×
.R в стандарте ANS Forth[править]
6.2.0210 .R "dot-r" CORE EXT ( n1 n2 -- ) Отображает n1 выровненное вправо в поле шириной n2 символов. Если число символов требуемых для отображения n1 больше чем n2, все цифры отображаются без ведущих пробелов в поле необходимой ширины. A.6.2.0210 .R В .R, "R" сокращение для RIGHT (''англ.'' право).
История[править]
В Форте каллистянское слово I.R называется .R
.R в предыдущем стандарте Forth-83 (англ.)[править]
.R n +n -- M,83 "dot-r" n is converted using BASE and then displayed right aligned in a field +n characters wide. A leading minus sign is displayed if n is negative. If the number of characters required to display n is greater than +n, an error condition exists. See: "number conversion"
.R в стандарте Forth-79 (англ.)[править]
.R n1 n2 -- "dot-r" Print n1 right aligned in a field of n2 characters, according to BASE. If n2 is less than 1, no leading blanks are supplied.
.R в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
.R n1 n2 --- Print the number n1 right aligned in a field whose width is n2. No following blank is printed.
Реализация[править]
3842 ;#IdR 3843 ; I.R ( n c −− ) Вывести целое n на индикатор в поле длиной c справа. 3844 ; Напечатать целое число n так, что младшая цифра занимает самое правое положение в выделенном поле, заданном числом c. 3845 LDOTR: .DB 3 3846 .TEXT "I.R" ; ( целое поле −− ) 3847 .DW LFDOT 3848 DOTR: .DW CALL, TOR,XDOT,FROMR, OVER,SUB,SPACS, TYPE, EXIT
Реализации из SP-Forth 4.20:
: .R ( n1 n2 -- ) \ 94 CORE EXT \ Вывести на экран n1 выравненным вправо в поле шириной n2 символов. \ Если число символов, необходимое для изображения n1, больше чем n2, \ изображаются все цифры числа без ведущих пробелов в поле необходимой \ ширины. >R DUP >R ABS S>D <# #S R> SIGN #> R> OVER - 0 MAX SPACES TYPE ; : U.R ( u n -- ) \ 94 CORE EXT \ Вывести на экран u выравненным вправо в поле шириной n символов. \ Если число символов, необходимое для изображения u, больше чем n, \ изображаются все цифры числа без ведущих пробелов в поле необходимой \ ширины. >R U>D <# #S #> R> OVER - 0 MAX SPACES TYPE ; … : H.R ( n1 n2 -- ) \ display n1 as a hex number right \ justified in a field of n2 characters BASE @ >R HEX >R 0 <# #S #> R> OVER - 0 MAX SPACES TYPE R> BASE ! ; : H.N ( n1 n2 -- ) \ display n1 as a HEX number of n2 digits BASE @ >R HEX >R 0 <# R> 0 ?DO # LOOP #> TYPE R> BASE ! ;
Советская реализация[править]
Определение слова I.R приводится у Баранова-Ноздрунова (стр. 37):
: I.R ( B:число,F:размер поля ---> ) OVER |X| ( B,F,BABS ) <# U#S ROT SIGN U#> ( F,A,N ) ROT OVER - ( A,N,F-N ) SPACES TYPE ;
В FORTH ИТЭФ и ядре ФОРТ-ЕС слово I.R называлось .R и определялось через слово D.R
Вот описания и определения этих слов в ФОРТ-ЕС:
.R + N1, +N2-> НАПЕЧАТАТЬ N1 НА ТЕРМИНАЛЕ В ПОЛЕ ДЛИНЫ +N2 СПРАВА Экран номер 38 ( 31.03.86 D.R D. .R . H. U. U.R ? ) : D.R (D,+N-> ) ?+ >R DUP >R DABS <# #S R> SIGN #> R> OVER - SPACES TYPE ; : .R ( N1,+N2->) >R S>D R> D.R ;
Вот определения этих слов в FORTH ИТЭФ:
HEAD 203Q,'D.',322Q,DDOTR,$COL ; D.R DW TOR,SWAP,OVER,DABS,BDIGS,DIGS,SIGN,EDIGS DW FROMR,OVER,SUB,SPACS,$TYPE,SEMI HEAD 202Q,'.',322Q,DOTR,$COL ; .R DW TOR,STOD,FROMR,DDOTR,SEMI
Ссылки[править]
- Исходный текст слова I.R в Каллисто Классик 1.0
- См. слова (.), . и I.
- Слово .R (dot-r) и комментарий к нему в стандарте ANS Forth (англ.)
- Слово .R (dot-r) и комментарий к нему в черновике Forth 200x (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |