owaisqayum

owaisqayum

Hi,

I am having three functions and the data inputs to only one of them. Lets say i have a function A having two parameters a and b. The sum operation is going inside.

def sum(a, b), do: a + b

Then in the second function, I want to add ten to the result of sum(a, b). So i can simply do like

def sum(a, b) do 
a + b
|> add()
end

and then define add.

def add(sum) do
sum + 10
end

Now, my question is that how can I use this sum function and add functions separately. let’s say in a third function I want to take the product of sum and add function. Right now I can’t use them as the sum function is always calling the add function.

def product() do
# code here
add * sum
end

Showing Posts 1 to 10

LostKobrakai

LostKobrakai

Are you looking for this one?

owaisqayum

owaisqayum OP

Actually no, I am looking for something where I can use the output of a function and also use it in some other function without specifying the arguments.

LostKobrakai

LostKobrakai

That sounds like OOP. Elixir doesn’t have objects. Functions act on their parameters (besides side-effects).

owaisqayum

owaisqayum OP

yeah, you are right … is there any approach that I can follow to get what I want …
do you think function arity can be my friend

LostKobrakai

LostKobrakai

I still don’t really understand what you’re after, so I can’t really give suggestions for alternatives.

owaisqayum

owaisqayum OP

I want to use the output of a function A in let says function B. Sometimes we don’t have those parameters in function B, then how can we use the function A output in function B.

There is one way we can call function B in Function A, like this

def A(a, b, c) do
a+ b + c 
|> B()
end

But I don’t want this approach. I want to handle them separately. How you got my question.
Thanks

Jcambass

Jcambass

I want to use the output of a function A in let says function B. Sometimes we don’t have those parameters in function B, then how can we use the function A output in function B.

You can’t. If you need the output of function A you either need to call it and pass the output of it as an parameter to function B, or you need to call function A with arguments in function B.

Your question is quite theoretical, maybe you can share the problem you’re actually trying to solve (if you have a concrete thing you’re trying to achieve). Functional is a different way of programming but it can solve the same problems as OOP, it just needs a different way of thinking about the problem you want to solve.

owaisqayum

owaisqayum OP

Hi,

thanks for your feedback.

def delta_link(tuple, count) do
    # [{tuple, count}]

    linkv(tuple, count)
  end

  def linkv(tuple, count) do
    try do
      :ets.new(:linkv, [:named_table, :duplicate_bag])
    rescue
      ArgumentError -> :ok
    end

    :ets.insert(:linkv, [{tuple, count} | link()])

    :ets.tab2list(:linkv)
    |> Count.count()
    |> IO.inspect()
  end

  def insert(s, d) do
    dl = :ets.new(:delta_link, [:duplicate_bag])

    :ets.insert(dl, {s, d})

    :ets.lookup(dl, s)
    |> delta_link(1)
  end

in this code, i want to use delta_link separately and linkv separately. I just want to call the output of delta_link in linkv.

lud

lud

Hello, I can’t understand your question. Why can’t you just call add(sum(a, b), 10) where you need the result?

By the way, the following code:

a + b
|> add()

is actually a + add(b). If you really want to use pipes you need to write:

(a + b)
|> add()
kokolegorille

kokolegorille

The full pipe way :slight_smile:

a 
|> Kernel.+(b) 
|> add()

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
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
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
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
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
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
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews