首页/新闻资讯/正文详情

《仓颉语言实战》仓颉字符串与字符处理10+技巧:顺手写一个猜数字小游戏

发布时间:2026/9/24 14:38:23 来源:云帆数科 栏目:资讯中心
《仓颉语言实战》仓颉字符串与字符处理10+技巧:顺手写一个猜数字小游戏
《仓颉语言实战》仓颉字符串与字符处理10技巧顺手写一个猜数字小游戏【免费下载链接】仓颉语言实战-张磊仓颉语言实战由张磊编写清华大学出版社出版。 该书践行“零基础入门仓颉语言”的理念具有内容通俗易懂知识点循序渐进的特点可以帮助读者快速掌握仓颉编程语言。项目地址: https://gitcode.com/Cangjie-SIG/cangjieyuyanshizhan-ZL《仓颉语言实战》张磊 著清华大学出版社是零基础入门仓颉语言的好帮手书中第20章字符及字符串处理用十余个贴近开发的示例系统讲解仓颉字符串与字符的常用操作方法并带你亲手写一个猜数字小游戏把字符串处理知识真正用起来。本文带你快速梳理这些仓颉字符串技巧看懂游戏的实现思路。为什么值得学仓颉字符串处理 字符串是开发中出现频率最高的数据类型解析用户输入、拼接日志、格式化输出、处理文本文件……都离不开它。本章示例全部位于 code/Chapter20/ 目录代码简洁、循序渐进非常适合新手跟练。本章涵盖的仓颉字符串技巧主要有 6 大类技巧类别核心方法示例文件查找字符/子串indexOf、lastIndexOffind_char_demo.cj截取子串下标范围[start..end]substring_demo.cj分割字符串splitsplit_demo.cj连接字符串拼接、String.joinjoin_demo.cj去除空白字符trimAscii系列trim_demo.cj字符判断与转换isAsciiNumber、toAsciiUpperCase等char_demo.cj仓颉字符串技巧速览1️⃣ 查找字符和子字符串indexOf / lastIndexOf仓颉的indexOf既支持查单个字符用bA这种字节字面量也支持查子字符串返回值是Option类型——找到返回Some(位置)没找到返回None非常符合仓颉的类型安全风格。lastIndexOf还可以指定从哪个索引开始往前找。 参考find_char_demo.cj、find_substring_demo.cj2️⃣ 截取子串用下标范围一步到位想取从第 11 位到结尾或从第 15 位起 4 个字符直接用下标范围表达式oriString[11..]、oriString[15..154]即可不需要额外传参写法清爽。 参考substring_demo.cj3️⃣ 分割字符串split 一行切成数组split按指定分隔符把字符串切成数组还能限制最多分割出的段数。处理诗词、CSV 数据、按标点断句等场景都很顺手切完再配合trimAscii去掉每段前后空白体验更佳。 参考split_demo.cj4️⃣ 连接字符串join 比循环拼接更快把数组里的字符串连成一整串循环和String.join都能实现。书里用一个一百万次循环的性能对比实验证明join的效率明显优于反复拼接批量合并字符串时优先选join。 参考join_demo.cj5️⃣ 去除首尾空白trim 系列三件套trimAscii()去除首尾空白trimAsciiStart()只去开头trimStart(前缀)去指定前缀字符串用户输入几乎都要过一遍trim猜数字游戏里就大量使用了它。 参考trim_demo.cj6️⃣ 字符判断与转换一套 isAscii 方法走天下isAsciiNumber()判断是不是数字、isAsciiLowerCase()判断是不是小写字母、isAsciiWhiteSpace()判断是不是空白配合toAsciiUpperCase()做大小写转换覆盖 90% 的字符处理需求。 参考char_demo.cj顺手写一个猜数字小游戏 技巧学完了书里用它们组合出一个完整的仓颉猜数字小游戏每局程序随机生成 0~100 的数字你只能用、、、、等符号加数字向它提问它只回答 Yes 或 No直到你猜中为止。完整代码见 figure_guessing_game.cj。游戏逻辑是怎么实现的第一步读取并清洗输入。每轮用Console.stdIn.readln()读一行输入出错时兜底为q再trimAscii()去掉首尾空白var input (Console.stdIn.readln() ?? q).trimAscii()第二步解析符号 数字。这是游戏的核心函数getOpAndNum把50、38、47这类输入拆成操作符和数字两部分。它用上了本章多个技巧input.isEmpty()判空、input[0].isAsciiNumber()判断首字符类型input[0..1]、input[2..]下标范围截取符号和数字Int64.tryParse(...)安全转整数失败返回None全程不抛异常第三步match 执行判断。根据操作符、、、、分别计算真假并打印结果猜中后提示按n开新局、按q退出一个while循环串起整局游戏。 这个小游戏把字符串解析、字符判断、安全类型转换、Option 模式匹配串成了一条完整链路正是本章知识学以致用的缩影。完整示例代码在哪看本章全部示例都集中在 code/Chapter20/ 目录建议按先单点技巧、后综合游戏的顺序跟练字符技巧char_demo.cj查找字符/子串find_char_demo.cj、find_substring_demo.cj截取子串substring_demo.cj分割/连接split_demo.cj、join_demo.cj去空白trim_demo.cj综合实战figure_guessing_game.cj小结掌握indexOf、split、join、trim和字符判断这几组方法就能应付日常开发中绝大部分文本处理需求。照着《仓颉语言实战》第20章跟练一遍再亲手把猜数字小游戏跑起来你会发现字符串处理就是这么简单又实用 ✅【免费下载链接】仓颉语言实战-张磊仓颉语言实战由张磊编写清华大学出版社出版。 该书践行“零基础入门仓颉语言”的理念具有内容通俗易懂知识点循序渐进的特点可以帮助读者快速掌握仓颉编程语言。项目地址: https://gitcode.com/Cangjie-SIG/cangjieyuyanshizhan-ZL创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

还在费力去除AI生图水印吗?
还在费力去除AI生图水印吗?

背景重绘 局部修图 上一篇:免安装,免注册,免费token,niuma编程工具-CSDN博客 · 2026/9/24 14:38:16

从 v2 到 v4.3:@arizeai/phoenix-mcp 配置解析、工具覆盖与破坏性变更深度解读
从 v2 到 v4.3:@arizeai/phoenix-mcp 配置解析、工具覆盖与破坏性变更深度解读

可观测性AI 评测LLMOpsAI 应用人工智能 【免费下载链接】phoenix AI Observability & Evaluation 项目地址: https://gitcode.com/gh_mirrors/phoenix13/phoenix 点击查看 免费下载 本篇文章以 arizeai/phoenix-mcp 的官方变更日志(js/packages/pho… · 2026/9/24 14:38:10

FerretDB Delete Operation 全解析:deleteOne 与 deleteMany 的用法、底层实现与最佳实践
FerretDB Delete Operation 全解析:deleteOne 与 deleteMany 的用法、底层实现与最佳实践

后端数据库文档数据库 【免费下载链接】FerretDB A truly Open Source MongoDB alternative 项目地址: https://gitcode.com/gh_mirrors/fe/FerretDB 点击查看 免费下载 删除操作(Delete Operation)是 MongoDB 兼容文档数据库中最基础、最常… · 2026/9/24 14:38:09

embeddingModel操作milvus数据库集合
embeddingModel操作milvus数据库集合

案例: 不是"创建集合的那一瞬间",而是"第一次使用时" // 应用启动时(MilvusConfig执行) // 步骤1: 创建milvusClient Bean public MilvusServiceClient milvusClient() {return new MilvusServiceClient(...); // ✓ 只是连接数据库 }// 步骤… · 2026/9/24 15:12:02

【Dv3Admin】Vue3动态配置首页仪表盘
【Dv3Admin】Vue3动态配置首页仪表盘

在做首页仪表板时,最麻烦的不是图表怎么画,而是组件来源动态、布局可拖拽、权限要隔离、还要能保存恢复。 Home 模块就是围绕这几件事做的一套标准化实现:后端下发组件定义与权限,前端负责动态渲染、拖拽布局、过滤无权限组件并紧… · 2026/9/24 15:12:02

Instant 2025 年 2 月更新全解读:Explorer 升级、级联删除、`$files` 存储与 InstaQL `fields` 子句实战
Instant 2025 年 2 月更新全解读:Explorer 升级、级联删除、`$files` 存储与 InstaQL `fields` 子句实战

后端数据库 【免费下载链接】instant Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love. 项目地址: https://gitcode.com/gh_mirrors/inst/i… · 2026/9/24 15:11:42

Yii 2 组件(Component)完全指南:掌握属性、事件与行为三大特性的基石机制
Yii 2 组件(Component)完全指南:掌握属性、事件与行为三大特性的基石机制

后端Web框架 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2 点击查看 免费下载 本文围绕 Yii 2 框架的核心抽象——组件(Component)展开,系统… · 2026/9/24 15:11:42

Instant 参考实现:用 Stripe 按量计费 Credits 构建 AI 应用付费体系
Instant 参考实现:用 Stripe 按量计费 Credits 构建 AI 应用付费体系

后端数据库 【免费下载链接】instant Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love. 项目地址: https://gitcode.com/gh_mirrors/inst/i… · 2026/9/24 15:11:42

ESPnet2 Recipe Template 实战指南:用自有语料搭建 ASR/TTS 训练流程与 Kaldi 风格数据准备
ESPnet2 Recipe Template 实战指南:用自有语料搭建 ASR/TTS 训练流程与 Kaldi 风格数据准备

人工智能语音音频深度学习NLP 【免费下载链接】espnet End-to-End Speech Processing Toolkit 项目地址: https://gitcode.com/gh_mirrors/es/espnet 点击查看 免费下载 导读 ESPnet2 采用「任务级统一 Recipe」的设计思路:不再像 ESPnet1 那样为每个语… · 2026/9/24 15:11:42

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码