如何在Crystal中向数组添加元素?
我试过了 :
var = Array(Int32)
var << 42 # error : undefined method '<<'
var += 42 # error : undefined method '+'
var.add(42) # error : undefined method 'add'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
甚至可以动态地将元素添加到数组中吗?
Crystal 有静态变量还是我必须使用具有文件/全局作用域的全局变量?
def test(value)
static var = 1
var += value
return var
end
pp test 0 #=> 1
pp test 1 #=> 2
pp test 1 #=> 3
pp test 0 #=> 3
Run Code Online (Sandbox Code Playgroud) 我正在尝试在多对多表上使用 prisma (引用自身),这样的行将有子代和孙代
我可以毫无问题地获取所有行,但我正在努力了解如何以可读的 JSON 形式对数据进行排序,这将阻止在前端进行解析
预期输出如下:返回的 JSON 的根只会引用父母,父母将引用他们的孩子,孩子将引用他们自己的孩子
重要注意事项:我只能返回启用= true的元素
我使用的表称为先行词并遵循此 prisma 模式:
model antecedant {
id Int @id @default(autoincrement())
name String
children antecedant[] @relation("antecedant_children")
parent antecedant? @relation("antecedant_children", fields: [parent_id], references: [id])
parent_id Int?
enabled Boolean @default(true)
creation_date DateTime @default(now())
update_date DateTime @updatedAt
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经得到了这个:
import { PrismaClient, Prisma } from '@prisma/client'
const prisma = new PrismaClient()
export default async function handler(req, res) {
const ret = await prisma.antecedant.findMany({
where: {
enabled: true,
parent_id: null
},
include: {
children: …Run Code Online (Sandbox Code Playgroud) 解析HTML文件时有没有办法使用xpath?
我正在寻找一个Ruby Nokogiri等价物,但Crystagiri没有实现它(但是?).也试过myhtml和谦虚但无济于事.
是否可以在 Crystal 中使用方法指针?
如果是,我如何创建和使用它们?
我希望将多条指令存储在一个数组中,然后在程序中稍后调用所需的指令。
是否有一个在销毁时调用的类方法?
当new在类上使用时,该initialize方法被调用,是否有destroy等价的?
当不再使用类时,我需要确保数据库正确关闭(程序在数据库关闭后继续运行).
我在Unity中使用C#,我需要知道C#如何管理类,以便知道我是否需要在期间或之后设置所有值new以避免无效读取或者我是否可以保留它们.
在这个例子中,我得到以下输出:
class Test {
public int test;
}
Test buffer = new Test;
Debug.Log(buffer.test);
Run Code Online (Sandbox Code Playgroud)
0
UnityEngine.Debug:Log(Object)
这是否意味着变量类型都具有默认值,或者在实例化类时我应该更加小心?