|
1 | | -<!-- badges: start --> |
2 | 1 |
|
3 | | -[](https://lifecycle.r-lib.org/articles/stages.html#stable) [](https://github.com/tidyverse/blob/actions) [](https://cran.r-project.org/package=blob) [](https://app.codecov.io/gh/tidyverse/blob) |
| 2 | +<!-- badges: start --> |
4 | 3 |
|
| 4 | +[](https://lifecycle.r-lib.org/articles/stages.html#stable) |
| 6 | +[](https://github.com/tidyverse/blob/actions) |
| 7 | +[](https://cran.r-project.org/package=blob) |
| 8 | +[](https://app.codecov.io/gh/tidyverse/blob) |
5 | 10 | <!-- badges: end --> |
6 | 11 |
|
7 | 12 | <!-- README.md is generated from README.Rmd. Please edit that file --> |
|
10 | 15 |
|
11 | 16 | ## Overview |
12 | 17 |
|
13 | | -The goal of blob is to provide a simple S3 class to represent a vector of binary objects, aka blobs. The `blob` class is a lightweight wrapper around a list of raw vectors, suitable for inclusion in a data frame. |
| 18 | +The goal of blob is to provide a simple S3 class to represent a vector |
| 19 | +of binary objects, aka blobs. The `blob` class is a lightweight wrapper |
| 20 | +around a list of raw vectors, suitable for inclusion in a data frame. |
14 | 21 |
|
15 | | -In most cases you will not need to use this package explicitly: it will be used transparently by packages that need to load BLOB columns from databases or binary file formats. |
| 22 | +In most cases you will not need to use this package explicitly: it will |
| 23 | +be used transparently by packages that need to load BLOB columns from |
| 24 | +databases or binary file formats. |
16 | 25 |
|
17 | 26 | ## Installation |
18 | 27 |
|
19 | | -<pre class='chroma'> |
20 | | -<span><span class='c'># The easiest way to get blob is to install the whole tidyverse:</span></span> |
21 | | -<span><span class='nf'><a href='https://rdrr.io/r/utils/install.packages.html'>install.packages</a></span><span class='o'>(</span><span class='s'>"tidyverse"</span><span class='o'>)</span></span> |
22 | | -<span></span> |
23 | | -<span><span class='c'># Alternatively, install just blob:</span></span> |
24 | | -<span><span class='nf'><a href='https://rdrr.io/r/utils/install.packages.html'>install.packages</a></span><span class='o'>(</span><span class='s'>"blob"</span><span class='o'>)</span></span> |
25 | | -<span></span> |
26 | | -<span><span class='c'># Or the the development version from GitHub:</span></span> |
27 | | -<span><span class='c'># install.packages("devtools")</span></span> |
28 | | -<span><span class='nf'>devtools</span><span class='nf'>::</span><span class='nf'><a href='https://remotes.r-lib.org/reference/install_github.html'>install_github</a></span><span class='o'>(</span><span class='s'>"tidyverse/blob"</span><span class='o'>)</span></span></pre> |
| 28 | +``` r |
| 29 | +# The easiest way to get blob is to install the whole tidyverse: |
| 30 | +install.packages("tidyverse") |
| 31 | + |
| 32 | +# Alternatively, install just blob: |
| 33 | +install.packages("blob") |
| 34 | + |
| 35 | +# Or the the development version from GitHub: |
| 36 | +# install.packages("pak") |
| 37 | +pak::pak("tidyverse/blob") |
| 38 | +``` |
29 | 39 |
|
30 | 40 | ## Example |
31 | 41 |
|
32 | 42 | To create a blob, use `blob()`, `new_blob()` or `as_blob()`: |
33 | 43 |
|
34 | | -<pre class='chroma'> |
35 | | -<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://blob.tidyverse.org'>blob</a></span><span class='o'>)</span></span> |
36 | | -<span></span> |
37 | | -<span><span class='nv'>x1</span> <span class='o'><-</span> <span class='nf'><a href='https://rdrr.io/r/base/rawConversion.html'>charToRaw</a></span><span class='o'>(</span><span class='s'>"Good morning"</span><span class='o'>)</span></span> |
38 | | -<span><span class='nv'>x2</span> <span class='o'><-</span> <span class='nf'><a href='https://rdrr.io/r/base/raw.html'>as.raw</a></span><span class='o'>(</span><span class='nf'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='o'>(</span><span class='m'>0x48</span>, <span class='m'>0x65</span>, <span class='m'>0x6c</span>, <span class='m'>0x6c</span>, <span class='m'>0x6f</span><span class='o'>)</span><span class='o'>)</span></span> |
39 | | -<span></span> |
40 | | -<span><span class='nf'><a href='https://blob.tidyverse.org/reference/blob.html'>new_blob</a></span><span class='o'>(</span><span class='nf'><a href='https://rdrr.io/r/base/list.html'>list</a></span><span class='o'>(</span><span class='nv'>x1</span>, <span class='nv'>x2</span><span class='o'>)</span><span class='o'>)</span></span> |
41 | | -<span><span class='c'>#> <blob[2]></span></span> |
42 | | -<span><span class='c'>#> [1] blob[12 B] blob[5 B]</span></span> |
43 | | -<span><span class='nf'><a href='https://blob.tidyverse.org/reference/blob.html'>blob</a></span><span class='o'>(</span><span class='nv'>x1</span>, <span class='nv'>x2</span><span class='o'>)</span></span> |
44 | | -<span><span class='c'>#> <blob[2]></span></span> |
45 | | -<span><span class='c'>#> [1] blob[12 B] blob[5 B]</span></span> |
46 | | -<span></span> |
47 | | -<span><span class='nf'><a href='https://blob.tidyverse.org/reference/blob.html'>as_blob</a></span><span class='o'>(</span><span class='nf'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='o'>(</span><span class='s'>"Good morning"</span>, <span class='s'>"Good evening"</span><span class='o'>)</span><span class='o'>)</span></span> |
48 | | -<span><span class='c'>#> <blob[2]></span></span> |
49 | | -<span><span class='c'>#> [1] blob[12 B] blob[12 B]</span></span></pre> |
| 44 | +``` r |
| 45 | +library(blob) |
| 46 | + |
| 47 | +x1 <- charToRaw("Good morning") |
| 48 | +x2 <- as.raw(c(0x48, 0x65, 0x6c, 0x6c, 0x6f)) |
| 49 | + |
| 50 | +new_blob(list(x1, x2)) |
| 51 | +#> <blob[2]> |
| 52 | +#> [1] blob[12 B] blob[5 B] |
| 53 | +blob(x1, x2) |
| 54 | +#> <blob[2]> |
| 55 | +#> [1] blob[12 B] blob[5 B] |
| 56 | + |
| 57 | +as_blob(c("Good morning", "Good evening")) |
| 58 | +#> <blob[2]> |
| 59 | +#> [1] blob[12 B] blob[12 B] |
| 60 | +``` |
50 | 61 |
|
51 | 62 | ------------------------------------------------------------------------ |
52 | 63 |
|
53 | | -Please note that the ‘blob’ project is released with a [Contributor Code of Conduct](https://github.com/tidyverse/blob/blob/main/CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms. |
| 64 | +Please note that the ‘blob’ project is released with a [Contributor Code |
| 65 | +of |
| 66 | +Conduct](https://github.com/tidyverse/blob/blob/main/CODE_OF_CONDUCT.md). |
| 67 | +By contributing to this project, you agree to abide by its terms. |
0 commit comments