- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
я придумал отличную идею для нового языка программирования.
это будут смешанные присваивания.
можно будет писать например так:
x <- y (тоже самое что и x = y)
или
x -> y ( y = x)
также обмен значений:
x <-> y
паралельное присваивание (для обоих видов):
a,b,c -> x,y,z (x = a,y =b, z =c)
множественное присваивание:
a -> b -> c ( b = a, c = a)
a <- b <- c ( a = b, b = c)
и их комбинации
x, y, z <- a,b,c <- i,j,k <- 1,2,3 -> d,e,f
правда круто?
Последняя строчка кода как мне кажется будет пользоваться бешеной популярностью.
Постоянно похожий код приходится писать.
Fai 02.09.2011 14:14 # 0
1, 2 -> y,x <-> x,y <-> y,x <- 1,2
Em1ss1oN 02.09.2011 14:27 # +1
Вообще - неплохая идея для эзотерического языка программирования.
Fai 02.09.2011 14:30 # 0
roman-kashitsyn 02.09.2011 14:34 # 0
FAKYOUINTIRNEAT 02.09.2011 14:53 # 0
FAKYOUINTIRNEAT 02.09.2011 14:57 # +2
roman-kashitsyn 02.09.2011 15:05 # +1
inkanus-gray 02.09.2011 20:48 # 0
roman-kashitsyn 02.09.2011 22:12 # +3
roman-kashitsyn 02.09.2011 22:15 # +3
inkanus-gray 03.09.2011 00:31 # +1
roman-kashitsyn 03.09.2011 10:12 # 0
inkanus-gray 05.09.2011 15:11 # 0
Есть и другой путь: ключевые слова.
roman-kashitsyn 02.09.2011 17:14 # 0
inkanus-gray 02.09.2011 20:45 # +3
Lure Of Chaos 02.09.2011 22:09 # +1
2.x=a;y=b;z=b;a=c;b=c;
3.a=x;b=y;c=a;
4.b=-a;c=-b;
5.a=-b;b=c;
6,7.для значений a+b и x+y выделяется память, затем уничтожается, но исходные переменные не меняются.
Fai 02.09.2011 23:59 # 0
Эквивалентно
-b <- a
c <- (-b)
Присваивать выражению вроде как пока нельзя.
guest 02.09.2011 14:38 # 0
>паралельное присваивание
>множественное присваивание
Мутабельный петух раскукарекался.
guest 02.09.2011 14:40 # 0
i-- 02.09.2011 14:42 # +2
guest 02.09.2011 15:03 # 0
roman-kashitsyn 02.09.2011 15:58 # +5
FAKYOUINTIRNEAT 02.09.2011 14:55 # +3
roman-kashitsyn 02.09.2011 15:00 # +2
inkanus-gray 02.09.2011 20:53 # +4
roman-kashitsyn 02.09.2011 22:02 # 0
roman-kashitsyn 02.09.2011 22:39 # +3
Lure Of Chaos 02.09.2011 15:12 # +7
1. операция обмена есть во многих языках, таких, как пхп, перл, питон, руби
2. операция "стрелка" для присваивания тоже встречалась в каком-то языке со стековым программирование (то ли лисп, то ли что-то другое)
не вижу революционных концепций, что бы браться за реализацию
Vindicar 02.09.2011 17:31 # −2
Вы про a,b = b,a ?
Строго говоря, это не обмен, а создание кортежа, присваивание и распаковка кортежа. Впрочем, результат один.
CPPGovno 02.09.2011 20:34 # −2
da4ever 03.09.2011 02:16 # 0
CPPGovno 03.09.2011 07:03 # 0
Lure Of Chaos 03.09.2011 09:45 # 0
roman-kashitsyn 03.09.2011 10:10 # 0
Lure Of Chaos 03.09.2011 10:38 # +1
roman-kashitsyn 03.09.2011 10:50 # 0
CPPGovno 03.09.2011 18:08 # −2
jQuery 03.09.2011 10:12 # 0
lucidfox 02.09.2011 15:59 # +26
bazyaka 02.09.2011 16:25 # +14
jQuery 02.09.2011 22:51 # +1
inkanus-gray 03.09.2011 00:28 # +4
jQuery 03.09.2011 10:00 # +2
SadKo 05.09.2011 10:37 # +1
Vasiliy 05.09.2011 11:40 # +2
CPPGovno 02.09.2011 20:36 # 0
scriptin 02.09.2011 22:56 # +20
Реквестирую присваивание вперед (к зрителю), назад, под произвольным углом и с подкруткой.
Получим язык программирования типа "биллиард" для N-мерного пространства. Еще можно добавить ветер, гравитацию, трение и вазелин. Язык программирования будет дерьмовый, но игра забавная получится.
FAKYOUINTIRNEAT 02.09.2011 23:05 # 0
Lure Of Chaos 02.09.2011 23:50 # 0
Fai 02.09.2011 23:56 # +2
jQuery 03.09.2011 10:05 # +3
roman-kashitsyn 03.09.2011 00:01 # +4
CPPGovno 03.09.2011 00:34 # +1
Fai 03.09.2011 00:59 # 0
foGa 03.09.2011 07:55 # 0
http://99-bottles-of-beer.net/language-perl-737.html
guest 03.09.2011 17:43 # +4
TheHamstertamer 04.09.2011 10:43 # −4
Lure Of Chaos 04.09.2011 15:32 # 0
нужна аргументация "кому и для чего это необходимо"
Fai 05.09.2011 08:15 # 0
Комментарии к пасте я специально довёл до абсурда, но и этого оказывается было недостаточно каким-то идиотам.
В следующий раз оберну нужным тегом.
Vasiliy 05.09.2011 08:41 # 0
jQuery 05.09.2011 14:48 # 0
Lure Of Chaos 05.09.2011 14:58 # 0
jQuery 05.09.2011 15:10 # 0
y <- 4565.2;
rat4 05.09.2011 17:59 # +5
jQuery 05.09.2011 18:15 # −1
1) Числа есть
2) булевые значение есть
3) Строки есть
4) Присваивания есть
inkanus-gray 06.09.2011 00:22 # +2
Очередь дойдёт и до тернарных конструкций:
inkanus-gray 06.09.2011 00:30 # 0
Fai 07.09.2011 15:41 # 0
>>x <- (y < z) ! (b < c) -> a
Поподробнее можно?
inkanus-gray 07.09.2011 18:28 # 0
Int 14.06.2013 12:11 # +1
Imperfectum 21.09.2011 14:59 # +4
Диагональное и вихревое программирование...
http://www.gamedev.ru/code/forum/?id=19939
CKrestKrestGovno 21.09.2011 19:07 # 0
inkanus-gray 31.08.2014 01:15 # 0
Выдержка из официальной документации (http://cran.r-project.org/doc/manuals/r-release/R-intro.html#Vectors-and-assignment):
2.1 Vectors and assignment
R operates on named data structures. The simplest such structure is the numeric vector, which is a single entity consisting of an ordered collection of numbers. To set up a vector named x, say, consisting of five numbers, namely 10.4, 5.6, 3.1, 6.4 and 21.7, use the R command
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
This is an assignment statement using the function c() which in this context can take an arbitrary number of vector arguments and whose value is a vector got by concatenating its arguments end to end.7
A number occurring by itself in an expression is taken as a vector of length one.
Notice that the assignment operator (‘<-’), which consists of the two characters ‘<’ (“less than”) and ‘-’ (“minus”) occurring strictly side-by-side and it ‘points’ to the object receiving the value of the expression. In most contexts the ‘=’ operator can be used as an alternative.
Assignment can also be made using the function assign(). An equivalent way of making the same assignment as above is with:
> assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7))
The usual operator, <-, can be thought of as a syntactic short-cut to this.
Assignments can also be made in the other direction, using the obvious change in the assignment operator. So the same assignment could be made using
> c(10.4, 5.6, 3.1, 6.4, 21.7) -> x