小编Nau*_*ika的帖子

SvelteKit,导入类型 LayoutServerLoad/PageLoad

layout.server.ts我尝试

import type { LayoutServerLoad } from './$types';
Run Code Online (Sandbox Code Playgroud)

但找不到类型:

“./$types”没有名为“LayoutServerLoad”的导出成员。您的意思是“LayoutServerData”吗?

我需要做什么才能获取类型LayoutServerLoad(或PageLoadPageServerLoad...)./$types

sveltekit

26
推荐指数
1
解决办法
9502
查看次数

将函数应用于列表中的每个第二个元素

我想将一个函数应用于列表中的每个第二个元素:

> mapToEverySecond (*2) [1..10]
[1,4,3,8,5,12,7,16,9,20] 
Run Code Online (Sandbox Code Playgroud)

我写了以下函数:

mapToEverySecond :: (a -> a) -> [a] -> [a]
mapToEverySecond f l = map (\(i,x) -> if odd i then f x else x) $ zip [0..] l
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否有更惯用的方法来做这样的事情.

haskell list

6
推荐指数
3
解决办法
1142
查看次数

SvelteKit 表单操作和重定向

在我的 SvelteKit 应用程序中,我有一个使用表单操作的表单:

<form action="/login?/logout" method="POST">
    <button type="submit">Logout</button>
</form>
Run Code Online (Sandbox Code Playgroud)

在此操作中,最后一步是重定向:

export const actions: Actions = {
    logout: async (event) => {
        // ...
        throw redirect(307, '/login');
    }
}
Run Code Online (Sandbox Code Playgroud)

这按我的预期进行。更新到 SvelteKit 1.0.0 后,行为发生了变化:该操作被调用(像以前一样),但在重定向时出现以下错误:

错误:未找到名称为“default”的操作

有什么想法需要改变或者应该如何做?

sveltekit

5
推荐指数
1
解决办法
6677
查看次数

获取列表中的下一个元素

是否有更简单的方法(可能是标准函数)来执行此操作:

(如果列表包含元素,则结果是列表的下一个元素;如果元素是列表的最后一个元素,则结果是列表的第一个元素."特殊情况":如果列表为空,结果是Nothing.如果列表不包含该元素,则结果是列表的第一个元素.)

import Data.List

next :: Eq a => Maybe a -> [a] -> Maybe a
next _ [] = Nothing
next Nothing (x:_) = Just x
next (Just x) list = Just $ list !! index
    where index =
        case elemIndex x list of
        Nothing -> 0
        Just xIndex ->
            if xIndex + 1 == length list
            then 0
            else xIndex + 1
Run Code Online (Sandbox Code Playgroud)

haskell

0
推荐指数
1
解决办法
2690
查看次数

标签 统计

haskell ×2

sveltekit ×2

list ×1