Я новичок в вязах и, честно говоря, немного борюсь за то, чтобы задуматься над некоторыми понятиями прямо сейчас. Я не уверен, насколько ясен мой вопрос, но это то, что я пытаюсь сделать.В вяза, как я могу передать значение функции в качестве аргумента, отличного от последнего?
, например:
aFunction value1 value2
эквивалентно:
value2
|> aFunction value1
, но что, если я хочу передать value1
в aFunction
через трубу вместо value2
?
на данный момент я использую что-то вроде этого:
value1
|> (\x y -> aFunction y x) value2
Однако, это поражает меня как немного клуджем, чтобы быть честным. Есть ли более элегантный способ сделать это?
То, что я пытаюсь сделать на практике, является частью довольно длинной цепочки труб, которая была бы непрактичной (или, по крайней мере, нечитаемой), с использованием выражения с большим количеством круглых скобок.
Хорошо спроектированные библиотеки выбирают порядок аргументов разумно, так что последний, на который было бы логичнее, приходил последним. Не стесняйтесь задавать себе этот вопрос при определении новой функции и поощрять авторов библиотек делать то же самое. –