上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页

2024年12月27日

给我讲讲nom中的基本概念吧

摘要: UUUUUUUUUUUUUUUUU 在 nom 中,基本概念围绕着 解析器组合器(parser combinators)的理念。解析器组合器是一种方法,通过将简单的解析器组合在一起构建复杂的解析器。nom 提供了丰富的组合器和基础工具,使得解析过程更加灵活和高效。 1. IResult nom 中的 阅读全文

posted @ 2024-12-27 18:51 及途又八 阅读(114) 评论(0) 推荐(0)

nom::sequence::preceded Matches an object from the first parser and discards it, then gets an object from the second parser. 上面是rust nom官网对于preceded的解释

摘要: nom::sequence::preceded Matches an object from the first parser and discards it, then gets an object from the second parser. 上面是rust nom官网对于preceded的解 阅读全文

posted @ 2024-12-27 16:44 及途又八 阅读(19) 评论(0) 推荐(0)

完成这个函数,解析带符号或不带符号的整形

摘要: fn integer64(input: &str) -> IResult<&str, Token> { // map(digit1, |s: &str| Token::Number(s.parse().unwrap()))(input) } 完成这个函数,解析带符号或不带符号的整形 UUUUUUUU 阅读全文

posted @ 2024-12-27 14:17 及途又八 阅读(23) 评论(0) 推荐(0)

修改上面函数,忽略大小写

摘要: fn keyword(input: &str) -> IResult<&str, Token> { alt(( map(tag("SELECT"), |_| Token::Keyword("SELECT".to_string())), map(tag("FROM"), |_| Token::Keyw 阅读全文

posted @ 2024-12-27 12:31 及途又八 阅读(10) 评论(0) 推荐(0)

2024年12月26日

详细讲解一下Rust中package、crate、module的概念

摘要: 在 Rust 中,package、crate 和 module 是三个层次不同但又相互关联的概念,它们共同组成了 Rust 的代码组织和管理体系。以下是它们的详细介绍: 1. Package(包) 定义:一个 package 是一个由 Cargo(Rust 的构建工具和包管理器)管理的项目,包含一个 阅读全文

posted @ 2024-12-26 16:35 及途又八 阅读(373) 评论(0) 推荐(0)

2024年12月24日

上面这段代码,?的作用是: 如果返回Result::OK(T),则f类型为T; 如果返回Result::Err(error),则函数返回Result::Err(error) 是这个意思呗?

摘要: use std::fs::File; use std::io; use std::io::Read; fn read_username_from_file() -> Result<String, io::Error> { let mut f = File::open("hello.txt")?; l 阅读全文

posted @ 2024-12-24 16:00 及途又八 阅读(34) 评论(0) 推荐(0)

看下面这个Rust程序,我想知道 other_error => panic!("Problem opening the file: {:?}", other_error) 这一行代码,为什么是other_error => panic...而不是_ => panic... ?

摘要: 看下面这个Rust程序,我想知道 other_error => panic!("Problem opening the file: {:?}", other_error) 这一行代码,为什么是other_error => panic...而不是_ => panic... ? use std::fs: 阅读全文

posted @ 2024-12-24 15:40 及途又八 阅读(15) 评论(0) 推荐(0)

2024年12月22日

我在使用Rust编程时,只在编译期提示要手动标注生命周期时才进行标注,这样可以吗?

摘要: 在使用 Rust 编程时,只在编译器提示需要标注生命周期时才进行标注是一种可以接受的初学者实践,但随着经验积累和代码复杂度增加,这种方式可能会有以下问题和限制: 1. 优点:简单、快速入门 编译器友好: Rust 的借用检查器非常强大,大部分情况下会推断出正确的生命周期,尤其是在简单的函数和结构体中 阅读全文

posted @ 2024-12-22 16:41 及途又八 阅读(53) 评论(0) 推荐(0)

2024年12月19日

一般要处理的空白字符就是空格( )、换行(\n)、制表符(\t)这三种吧?

摘要: 是的,通常在处理空白字符时,主要关注这三种: 空格( ):最常见的分隔符,用于在词法分析中分隔标识符、关键字、数字等。 换行符(\n):用于标识行的结束,通常在多行文本中作为行分隔符。 制表符(\t):用于水平缩进,通常在格式化文本中用作对齐。 在许多编程语言和解析器中,除了这些常见的空白字符外,还 阅读全文

posted @ 2024-12-19 18:57 及途又八 阅读(1094) 评论(0) 推荐(0)

2024年12月17日

rust可以和C语言程序使用grpc进行通信吗? rust是客户端,C是服务端。 如果可以的话,举一个简单的例子,需要给出具体的代码。

摘要: 是的,Rust 可以与 C 语言程序通过 gRPC 进行通信。gRPC 是一个语言中立的通信框架,支持多种语言之间的互操作,包括 Rust 和 C。 关键步骤概述: 定义 gRPC 接口(.proto 文件): 定义服务端和客户端之间的接口。 C 服务端实现: 使用 C 语言实现服务端,处理客户端的 阅读全文

posted @ 2024-12-17 18:48 及途又八 阅读(112) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页

导航