Main Page/RED By Topics: Difference between revisions

From Programming in RED
Content added Content deleted
mNo edit summary
Line 228: Line 228:


Datatypes
Datatypes

= Articles =

{| class="wikitable sortable"
! scope="col" style="width: 80px;" | Type
! scope="col" style="width: 350px;" | Description
! scope="col" style="width: 150px;" | Link
|-
| || || [http://a.b (None)]
|-
|}

= Forums/Chats Q/A =

{| class="wikitable sortable"
! scope="col" style="width: 80px;" | Type
! scope="col" style="width: 350px;" | Description
! scope="col" style="width: 150px;" | Link
|-
| Find || Find locates characters in string when passed string || [https://stackoverflow.com/questions/54267883/how-did-find-actually-locate-a-character-in-a-string-when-it-was-passed-a-str (Stack Overflow)]
|-
| Data/Code || END Separators between istructions || [https://stackoverflow.com/questions/50882365/is-there-an-optional-end-instruction-in-rebol-red-like-in-javascript/54017174#54017174 (Stack Overflow) ]
|-
| Editors || List of Structured Editors from NENAD (NOT RED SPECIFIC) || [https://gitter.im/red/red?at=5c36dcfcdfe133282028302e (Gitter)]
|-
|}

= Scripts/Repositories =

{| class="wikitable sortable"
! scope="col" style="width: 80px;" | Name
! scope="col" style="width: 80px;" | Type
! scope="col" style="width: 80px;" | RED/RED System
! scope="col" style="width: 350px;" | Description
! scope="col" style="width: 80px;" | Author
! scope="col" style="width: 150px;" | Link
|-
| Mandelbrot FAST || Math || RED/System || Mandelbrot Generator || Full Stack Team || [https://github.com/red/code/blob/master/Scripts/mandelbrot-fast.red (GITHUB)]
|-
| || || || || || [http://a.bi (None)]
|-
|}

Revision as of 23:19, 20 January 2019

Topics

Code is DATA/Data is CODE

Series/Blocks

Selecting

Select returns the value next to the matched key. It could search also for types

Simplest Select Syntax is

Select BLOCK/SERIES KEY

Example:


>> select [a b c d] 'b == c

Now, the third one will be a block

Select returns the element

>> a: [a b [1 2 3 4] d] == [a b [1 2 3 4] d]

>> select a 'b == [1 2 3 4]


SELECT is the short form of:

>> probe first next find a 'b [1 2 3 4] == [1 2 3 4]

which could also be written as

>> probe pick next find a 'b 1 == [1 2 3 4]


Finding >> probe next find a 'b [[1 2 3 4] d] == [[1 2 3 4] d]


>> a: [a b [1 2 3 4] d] 'b == b >> probe first next find a 'b [1 2 3 4] == [1 2 3 4] >> select [a b c d] 'b == c >> select a 'b == [1 2 3 4] >> a: [a b "c1234" d] == [a b "c1234" d] >> select a 'b == "c1234" >> find a 'b == [b "c1234" d]


(TODO: Clarify if it copies)

Table


Command Type Purpose Input Output Modify Series Modify Series Index Record Index to Head Index to Current Pos Other
Alter SEARCH-SET
Append MODIFY
At IDX Yes
Back IDX
Change MODIFY Changes series from current position Series to change YES
Clear MODIFY Deletes everything from current position to tail
Collect
Compose
Copy GET Returns a copy of the series
Empty? INFO
Exclude UNIONS Returns first arguments values minus second argument values
Extract GET Get elements. Cold also see block as record of elements
Find SEARCH Returns a series from the mathing position
Head IDX
Head? INFO
Index? INFO
Insert MODIFY Insert a value in the current position shifting the previous value(s) to the right
Last IDX
Length? INFO
Move MODIFY Move element(s) of the series to another
Next IDX
Path!
Path?
Pick GET Takes the N'th value
Poke SET Sets the N th value
Rejoin MODIFY
Remove MODIFY Remove the first value of a series starting from current position
Remove-Each MODIFY Test each value of the block with a contition, if test returns true, remove that value
Replace SEARCH-SET Replace the found value with another one
Reverse MODIFY Reverse all the arguments of a series
Select SEARCH Selects (extract) the item next to the matched one
Skip IDX Move index one or more position forward
Sort MODIFY Sort the series
Swap MODIFY Swap the current elements of two series
Tail IDX
Tail? INFO
Take MODIFY
Take Remove and returns on or more elements of a series
Union Returns the unique elements of two series
Unique REturns the unique elements of a series
First
Second
Third
Fourth
Fifth


Findind

Finding a value in a series/block requires FIND It returns the block positioned at the match or (none?)

To obtain the numeric index/position you should use POS? Example: POS? FIND a 'b


Note the difference in the output between finding and selectin

When exploring RED this could led to a misunderstanding [1 2 3 4] = a block containing 1 2 3 4 1 2 3 4 = a block containing another block which contains 1 2 3 4


[1 2 3 4] the element in the third position, which is a block [[1 2 3 4] d] the original series starting at thrid position which contains the thrird and fourth element

to get again the whole block you shoud

head a (why not a: head a)

Contexts

VID

Databases

RED/Systems

Compiling

PATHS

NONE, TRUE, EMPTY, ETC.

Active words

Natural language

PARSE

DSL

RED Code INIT

EXTERNAL Libraries

CODE MORPHING

Code internal Structure

Datatypes

Articles

Type Description Link
(None)

Forums/Chats Q/A

Type Description Link
Find Find locates characters in string when passed string (Stack Overflow)
Data/Code END Separators between istructions (Stack Overflow)
Editors List of Structured Editors from NENAD (NOT RED SPECIFIC) (Gitter)

Scripts/Repositories

Name Type RED/RED System Description Author Link
Mandelbrot FAST Math RED/System Mandelbrot Generator Full Stack Team (GITHUB)
(None)