shahryarjb

shahryarjb

Hello, I want to create the loop of 4 numbers like this:

1 Purple
2 Blue
3 Orange
4 Green

these 4 numbers should be repeated again in my for loop

<%= for el <- posts_entries do %>
    <%= el["title"] %>
   <%= the_number_which_I_need %>
<% end %>

For example, In repeating the fifth number, I want to repeat the purple color again and 6 is been Blue and …

How do I do this ?

Showing Posts 1 to 4

stefanchrobot

stefanchrobot

Stream.cycle([1,2,3,4]) |> Enum.take(10)
shahryarjb

shahryarjb OP

Thank you, I have 2 questions:

  1. how do I use this in my code, I need it to be printed a number in my code each loop, like this:
  • the_number_which_I_need = 1
  • the_number_which_I_need = 2
  • the_number_which_I_need = 3
  • the_number_which_I_need = 4
  • the_number_which_I_need = 1
<%= for el <- posts_entries do %>
    <%= el["title"] %>
   <%= the_number_which_I_need %>
<% end %>
  1. is there a way to create this in a function?
NobbZ

NobbZ

  1. Enum and Stream are your friends and loaded with a bunch of functions that can help you with this:
iex(1)> [:a, :b, :c, :d] |> Enum.with_index() |> Enum.map(fn {label, idx} -> {label, idx + 1} end) |> Stream.cycle() |> Stream.map(fn {label, nr} -> IO.puts "#{nr}: #{label}" end) |> Enum.take(10)
1: a
2: b
3: c
4: d
1: a
2: b
3: c
4: d
1: a
2: b
[:ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok]
  1. Of course, just wrap it in a def, I leave this to your homework.
stefanchrobot

stefanchrobot

Oh, sure. You can use Enum.zip which returns list of tuples:

posts_entries = ["a", "b", "c", "d", "e", "f", "g"]
colors = Stream.cycle(["purple", "red", "orange"])

for {el, color} <- Enum.zip(posts_entries, colors) do
  IO.puts("#{el} (#{color})")
end

I’m not sure what you mean exactly, but would something like this work?

def colored_posts(posts, colors) do
  Enum.zip(posts, Stream.cycle(colors))
end
— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews