- Leetcode 712. Minimum ASCII Delete Sum for Two Strings
小白菜又菜
Leetcode解题报告动态规划(DP)leetcode算法
ProblemGiventwostringss1ands2,returnthelowestASCIIsumofdeletedcharacterstomaketwostringsequal.AlgorithmDynamicProgramming(DP):similarasLongestCommonSubsequence(LCS).Ifs1[i]!=s2[j]:F(i,j)=min(F(i−1,j)
- 用连接数据库的方式读取excel
Vanqqqq
SQLC#excel
之前喜欢用hssfworkbook直接将excel读取到workbook中,这样直接对sheet进行解析。可是当数据量很大,数据文件到5M以后c#的内存占用很大,就会很卡了。所以改用这种方法读取到dataset中,再对数据进行解析。直接上代码:publicstaticDataSetGetExcelTableByOleDB(stringstrExcelPath){try{DataTabledtExc
- leetcode hot 100 刷题记录(medium)
激昂~逐流
Leetcodeleetcode算法
题目3:无重复字符的最长子串(YES)解题思路:其实最好想到的方法就是使用两层for,让每个字符都可以是子串的首字符,查看哪个子串的长度最长即可。给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。classSolution{public:intlengthOfLongestSubstring(strings){//暴力的一次for,检查每个字符作为首字符时候的最长子串if(s.size
- 使用命令方式下载和安装 Microsoft Office ProPlus 2024 x64/x86(含:Project Pro + Visio Pro)
hbcoolair
microsoft
2024年10月1日,微软公司正式发布了MicrosoftOffice2024,支持在线订阅下载和安装。该办公套件引入了一系列新的功能和改进,例如Excel中的动态图表、Outlook的改进搜索功能、PowerPoint的实时相机源嵌入,以及OneNote的增强墨迹体验等。本文的解决思路是,使用自制的命令工具,下载和安装功能最齐全的Office2024专业版,其优点在于无复杂选项,用户操作简单,下
- conda在powershell7.5执行出现问题
0xdadream
报错修复conda
conda在powershell7.5执行出现问题问题描述执行命令结果如下,不能达到预期condausage:conda-script.py[-h][-v][--no-plugins][-V]COMMAND...conda-script.py:error:argumentCOMMAND:invalidchoice:''(choosefrom'activate','clean','commands'
- Java正则表达式循环匹配字符串
It_BeeCoder
SpringBoot
publicstaticvoidmain(String[]args){/***Stringstr="[Part'name=1234567']";*/StringtargetStr="where1=1[anduser_namelike'%$user_name$%'][andcompany_namelike'%$company_name$%']";String[]split=targetStr.spl
- 【人工智能在制造业的具体应用-设备能耗优化】
局外人_Jia
深度学习人工智能c#visualstudio大数据
人工智能在制造业设备能耗优化中使用C#的具体实现方案,涵盖从数据采集到智能调控的全链路技术实现:1.多源数据采集系统工业协议通信层//ModbusTCP数据采集(使用NModbus库)publicclassModbusDataCollector{publicfloatReadPowerConsumption(byteslaveId,ushortstartAddress){usingvarclien
- 软件架构设计分层架构与 PO、VO、DTO、BO、POJO、BO/DO、DAO
s_nshine
架构povodto高内聚低耦合
某位计算机大师说过:计算机科学领域任何问题,都可以间接的通过添加一个中间层来解决.什么是架构?先引用《系统架构:复杂系统的产品设计与开发》里面的一句话:结构良好的创造活动要优于毫无结构的创造活动。架构始于建筑,是因为人类发展(原始人自给自足住在树上,也就不需要架构),分工协作的需要,将目标系统按某个原则进行切分,切分的原则,是要便于不同的角色进行并行工作。一般而言,软件系统的架构(Architec
- C# 字符串操作帮助类
戊寅戊子
C#c#
字符串操作类1、GetStrArray(stringstr,charspeater,booltoLower)把字符串按照分隔符转换成List2、GetStrArray(stringstr)把字符串转按照,分割换为数据3、GetArrayStr(Listlist,stringspeater)把List按照分隔符组装成string4、GetArrayStr(Listlist)得到数组列表以逗号分隔的字
- 大数据java篇——复制
sp_ur
笔记java文件夹复制大数据java
1.文件夹复制packageCopy;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;publicclassDirCopyDemo{publicstaticStringsrcRoot;publicstaticvoid
- python模块mediapipe安装教程
2401_85863780
python开发语言mediapipe
安装MediaPipe通过.whl文件的方法与安装其他Python库相似。下面是详细的步骤,指导你如何通过.whl文件安装MediaPipe。1.确认Python和pip已经安装首先,确保你的系统上已经安装了Python和pip。你可以通过打开命令行(对于Windows用户,这可以是CMD或PowerShell;对于macOS和Linux用户,这可以是终端)并运行以下命令来检查:python--v
- 图论练习题(存起来练)
Wuliwuliii
图论练习题
=============================以下是最小生成树+并查集======================================【HDU】1213HowManyTables基础并查集★1272小希的迷宫基础并查集★1325&&poj1308IsItATree?基础并查集★1856Moreisbetter基础并查集★1102ConstructingRoads基础最小生成
- 【HDOJ图论题集】【转】
aiyuneng5167
java人工智能
1=============================以下是最小生成树+并查集======================================2【HDU】31213HowManyTables基础并查集★41272小希的迷宫基础并查集★51325&&poj1308IsItATree?基础并查集★61856Moreisbetter基础并查集★71102ConstructingRoad
- 图论500题
Dillonh
迷之图论
PS:没找到这套题的原作者,非常感谢他的总结~最小生成树+并查集【HDU】1213HowManyTables基础并查集★1272小希的迷宫基础并查集★1325&&poj1308IsItATree?基础并查集★1856Moreisbetter基础并查集★1102ConstructingRoads基础最小生成树★1232畅通工程基础并查集★1233还是畅通工程基础最小生成树★1863畅通工程基础最小生
- Unveiling ZCC5183A/B: The Power - packed 3A Synchronous Buck Converters
zhichengwei
其他
Inthedynamicrealmofpowerconversion,theZCC5183AandZCC5183B3Asynchronousbuckconvertersaremakingwaveswiththeiroutstandingperformance.Theseconvertersfeatureawideinputvoltagerangeof4.5Vto20V,enablingthemto
- ZCC6507: A Superior Isolated Power Solution Outperforming SN6507
zhichengwei
其他
Inthefieldofisolatedpowerdesign,engineersareconstantlyseekingmoreefficient,flexible,andcost-effectivesolutions.TheZCC6507,ahigh-performancepush-pulltransformerdriver,standsoutwithitsuniquedesignandsig
- (转)@JsonRawValue 按原样序列化属性
SomeOtherTime
java开发语言后端
@JsonRawValue按原样序列化属性_赵丙双的博客-CSDN博客_序列化属性@JsonRawValue注解能够按原样序列化属性。属性值不会被转义或者加引号(或者说,会自动去掉转义,多余的引号)。属性值已经是一个JSONString,或者属性值已经被加了引号时很有用。ExamplePOJOpublicclassReport{privatelongid;privateStringname;@Js
- Windows开机自动关闭系统代理
花开不识君
Win10系统windows
Windows开机自动关闭系统代理本人经常遇到开机没有网的问题,原因是开启了系统代理,而后者的原因是使用习惯上习惯直接关闭导致某些软件没来的及关闭系统代理,从而引发了网络故障的我呢提,于是想着有没有什么办法可以让电脑启动的时候自动关闭系统代理,于是有了下面的方法。1、使用PowerShell脚本完成命令化关闭系统代理()#设置代理服务器为空Set-ItemProperty-Path'HKCU:\S
- poj 1142 Smith Numbers(数论:欧拉函数变形)
殷华
数学/数论
给定一个数n找出大于n的最小smith数smith数定义如下:一个数n为smith数当且仅当它的所有质因子各位数之和等于n的所有位数之和且n不是素数那么给定一个n,我们就可以每次+1判断是否为smith数这道题唯一的难点就在于找到一个数的所有素数因子套用欧拉函数变形即可375ms代码如下:#include#include#defineLLlonglongLLn;intget_ans(LLn){in
- Windows 11 安装 Docker
mrljw
docker容器运维
1.以管理员身份打开WindowsPowerShell2.执行下面三行命令来启动WSL和虚拟机平台dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestartdism.exe/online/enable-feature/featurename:VirtualMachinePlat
- 【Getting Started】-数据结构介绍-Introduction to Data Structures
zaiyang遇见
#Bronze(青铜组)数据结构程序设计竞赛信息学奥赛C/C++USACO
文章目录数组-Arrays动态数组-DynamicArrays遍历-Iterating插入和删除-InsertingandErasingStringsPairsC++Tuples数据结构是指用来组织和存储数据的方式,以便对其进行高效操作。在C++中,标准模板库(STL)提供了多种数据结构,帮助以不同的方式管理数据。每种数据结构对不同操作的支持效率不同,有的结构使得元素访问非常快速,而有些则优化了元
- 字符串-反转字符串
Hasno.
算法
代码随想录-刷题笔记344.反转字符串-力扣(LeetCode)内容:字符串本质上还是对数组进行操作,本身代码随想录网站上面所有的字符串的题(抛出KMP)都不难。可以看作是对数组的一部分补充代码:classSolution{publicvoidreverseString(char[]s){intleft=0;intright=s.length-1;while(right>=left){chartm
- gin框架精通篇(三)
codefan※
go语言ginHMACRSAECDSA数字签名token
HMAC签名packagemainimport("fmt""github.com/dgrijalva/jwt-go""github.com/gin-gonic/gin""net/http""strings""time")typeHmacUserstruct{Idstring`json:"id"`Namestring`json:"name"`Telephonestring`json:"telepho
- yarn : 无法加载文件 C:\Users\Think\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microso
张张Z7
npm前端node.js
这个错误通常是由于在系统上的执行策略限制导致的。执行策略是一种安全功能,用于控制在计算机上运行的脚本的权限级别1、打开PowerShell作为管理员:右键点击开始菜单,选择"WindowsPowerShell(管理员)"2、输入以下命令来更改执行策略Set-ExecutionPolicy-ScopeCurrentUser-ExecutionPolicyUnrestricted3、在确认提示中输入"
- 不同command line interface中 python Venv虚拟环境的激活方式
Cmmm丶
cmltoolpythonpython开发语言
GitBash.venv_name/Scripts/activateWindownsCMLvenv_name\Scripts\activatePowershellvenv_name\activate.ps1Unixsourcevenv_name/bin/activate————————我目前奥尔堡大学做博士后(我的googlescholar,我的Github),关注能源转型过程中的环境、经济问题。
- npm : 无法加载文件 ,因为在此系统上禁止运行脚本和npm的语句无法被idea识别的问题以及解决方案
谁爱我都不爱,我爱J
web学习npm前端node.js
问题一npm:无法加载文件,因为在此系统上禁止运行脚本:当Terminal的shellpath为C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe时可能会出现这种情况。该情况是由于powershell的类别问题,可以通过以下步骤解决:用管理员的身份运行powershell:输入命令,修改计算机的执行策略:set-ExecutionPo
- 什么是Docker多架构容器镜像
西京刀客
云原生(CloudNative)云计算虚拟化docker架构
什么是Docker多架构容器镜像在Docker中,同一个Docker镜像可以在不同的平台上运行,例如在x86、ARM、PowerPC等不同的CPU架构上。为了支持这种多平台的镜像构建和管理,Docker在17.06版本时引入了Manifest的概念,在此之前,Docker并没有原生支持多平台镜像的构建和管理,因此开发者需要手动构建和管理不同平台的镜像。多架构镜像实际上是多个镜像的集合,多架构镜像=
- 力扣-二叉树-257 二叉树的所有路径
夏末秋也凉
力扣#二叉树leetcode算法
思路除去根节点,每一层添加->val,然后使用前序遍历的顺序代码classSolution{public:vectorres;voidgetTreePaths(strings,TreeNode*root){s+="->";s+=to_string(root->val);if(root->left==nullptr&&root->right==nullptr){res.push_back(s);re
- 【ARMv9 DSU-120 系列 6 -- Power management】
主公讲 ARM
#ARMv9DSU-120专栏DSU-120POWERDSU-120ppu
请阅读【Arm®DynamIQ™SharedUnit-120专栏】文章目录PowermanagementInDSU-120PowerDomainsPDTopPDClusterPDCorePDComplexPDSlicePDL3RAM0和PDL3RAM1Clusterpowermode在线模式(On)关闭模式(Off)功能保留模式(Func_Ret)集群完全保留模式(Full_Ret)内存保留模式(
- Golang 基本类型数组切片 拼成 字符串 方法
卖女孩的小火柴คิดถึง
golang开发语言后端
1.对于字符串型数组切片import"fmt"funcmain(){s:=[]string{"1","3","jjj"}str:=strings.Join(s,",")fmt.Println(str)}//输出:1,3,jjj2.对于数字型数组切片内置的join方法只支持字符串型切片,可以通过fmt.Sprintf方法,将数组切片直接转成字符串,再用正则转成字符串切片,最后用join方法拼接pac
- 关于旗正规则引擎中的MD5加密问题
何必如此
jspMD5规则加密
一般情况下,为了防止个人隐私的泄露,我们都会对用户登录密码进行加密,使数据库相应字段保存的是加密后的字符串,而非原始密码。
在旗正规则引擎中,通过外部调用,可以实现MD5的加密,具体步骤如下:
1.在对象库中选择外部调用,选择“com.flagleader.util.MD5”,在子选项中选择“com.flagleader.util.MD5.getMD5ofStr({arg1})”;
2.在规
- 【Spark101】Scala Promise/Future在Spark中的应用
bit1129
Promise
Promise和Future是Scala用于异步调用并实现结果汇集的并发原语,Scala的Future同JUC里面的Future接口含义相同,Promise理解起来就有些绕。等有时间了再仔细的研究下Promise和Future的语义以及应用场景,具体参见Scala在线文档:http://docs.scala-lang.org/sips/completed/futures-promises.html
- spark sql 访问hive数据的配置详解
daizj
spark sqlhivethriftserver
spark sql 能够通过thriftserver 访问hive数据,默认spark编译的版本是不支持访问hive,因为hive依赖比较多,因此打的包中不包含hive和thriftserver,因此需要自己下载源码进行编译,将hive,thriftserver打包进去才能够访问,详细配置步骤如下:
1、下载源码
2、下载Maven,并配置
此配置简单,就略过
- HTTP 协议通信
周凡杨
javahttpclienthttp通信
一:简介
HTTPCLIENT,通过JAVA基于HTTP协议进行点与点间的通信!
二: 代码举例
测试类:
import java
- java unix时间戳转换
g21121
java
把java时间戳转换成unix时间戳:
Timestamp appointTime=Timestamp.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:m
- web报表工具FineReport常用函数的用法总结(报表函数)
老A不折腾
web报表finereport总结
说明:本次总结中,凡是以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。
CLASS
CLASS(object):返回object对象的所属的类。
CNMONEY
CNMONEY(number,unit)返回人民币大写。
number:需要转换的数值型的数。
unit:单位,
- java jni调用c++ 代码 报错
墙头上一根草
javaC++jni
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000777c3290, pid=5632, tid=6656
#
# JRE version: Java(TM) SE Ru
- Spring中事件处理de小技巧
aijuans
springSpring 教程Spring 实例Spring 入门Spring3
Spring 中提供一些Aware相关de接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到de匙ApplicationContextAware.实现ApplicationContextAwaredeBean,在Bean被初始后,将会被注入 Applicati
- linux shell ls脚本样例
annan211
linuxlinux ls源码linux 源码
#! /bin/sh -
#查找输入文件的路径
#在查找路径下寻找一个或多个原始文件或文件模式
# 查找路径由特定的环境变量所定义
#标准输出所产生的结果 通常是查找路径下找到的每个文件的第一个实体的完整路径
# 或是filename :not found 的标准错误输出。
#如果文件没有找到 则退出码为0
#否则 即为找不到的文件个数
#语法 pathfind [--
- List,Set,Map遍历方式 (收集的资源,值得看一下)
百合不是茶
listsetMap遍历方式
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身
- 解决SimpleDateFormat的线程不安全问题的方法
bijian1013
javathread线程安全
在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换,如下所示:
public class DateUtil01 {
private SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void format(Date d
- http请求测试实例(采用fastjson解析)
bijian1013
http测试
在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import
- 【RPC框架Hessian三】Hessian 异常处理
bit1129
hessian
RPC异常处理概述
RPC异常处理指是,当客户端调用远端的服务,如果服务执行过程中发生异常,这个异常能否序列到客户端?
如果服务在执行过程中可能发生异常,那么在服务接口的声明中,就该声明该接口可能抛出的异常。
在Hessian中,服务器端发生异常,可以将异常信息从服务器端序列化到客户端,因为Exception本身是实现了Serializable的
- 【日志分析】日志分析工具
bit1129
日志分析
1. 网站日志实时分析工具 GoAccess
http://www.vpsee.com/2014/02/a-real-time-web-log-analyzer-goaccess/
2. 通过日志监控并收集 Java 应用程序性能数据(Perf4J)
http://www.ibm.com/developerworks/cn/java/j-lo-logforperf/
3.log.io
和
- nginx优化加强战斗力及遇到的坑解决
ronin47
nginx 优化
先说遇到个坑,第一个是负载问题,这个问题与架构有关,由于我设计架构多了两层,结果导致会话负载只转向一个。解决这样的问题思路有两个:一是改变负载策略,二是更改架构设计。
由于采用动静分离部署,而nginx又设计了静态,结果客户端去读nginx静态,访问量上来,页面加载很慢。解决:二者留其一。最好是保留apache服务器。
来以下优化:
- java-50-输入两棵二叉树A和B,判断树B是不是A的子结构
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/25411174201011445550396/
import ljn.help.*;
public class HasSubtree {
/**Q50.
* 输入两棵二叉树A和B,判断树B是不是A的子结构。
例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一
- mongoDB 备份与恢复
开窍的石头
mongDB备份与恢复
Mongodb导出与导入
1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.
所以,都有如下通用选项:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
2: mongoexport 导出json格式的文件
- [网络与通讯]椭圆轨道计算的一些问题
comsci
网络
如果按照中国古代农历的历法,现在应该是某个季节的开始,但是由于农历历法是3000年前的天文观测数据,如果按照现在的天文学记录来进行修正的话,这个季节已经过去一段时间了。。。。。
也就是说,还要再等3000年。才有机会了,太阳系的行星的椭圆轨道受到外来天体的干扰,轨道次序发生了变
- 软件专利如何申请
cuiyadll
软件专利申请
软件技术可以申请软件著作权以保护软件源代码,也可以申请发明专利以保护软件流程中的步骤执行方式。专利保护的是软件解决问题的思想,而软件著作权保护的是软件代码(即软件思想的表达形式)。例如,离线传送文件,那发明专利保护是如何实现离线传送文件。基于相同的软件思想,但实现离线传送的程序代码有千千万万种,每种代码都可以享有各自的软件著作权。申请一个软件发明专利的代理费大概需要5000-8000申请发明专利可
- Android学习笔记
darrenzhu
android
1.启动一个AVD
2.命令行运行adb shell可连接到AVD,这也就是命令行客户端
3.如何启动一个程序
am start -n package name/.activityName
am start -n com.example.helloworld/.MainActivity
启动Android设置工具的命令如下所示:
# am start -
- apache虚拟机配置,本地多域名访问本地网站
dcj3sjt126com
apache
现在假定你有两个目录,一个存在于 /htdocs/a,另一个存在于 /htdocs/b 。
现在你想要在本地测试的时候访问 www.freeman.com 对应的目录是 /xampp/htdocs/freeman ,访问 www.duchengjiu.com 对应的目录是 /htdocs/duchengjiu。
1、首先修改C盘WINDOWS\system32\drivers\etc目录下的
- yii2 restful web服务[速率限制]
dcj3sjt126com
PHPyii2
速率限制
为防止滥用,你应该考虑增加速率限制到您的API。 例如,您可以限制每个用户的API的使用是在10分钟内最多100次的API调用。 如果一个用户同一个时间段内太多的请求被接收, 将返回响应状态代码 429 (这意味着过多的请求)。
要启用速率限制, [[yii\web\User::identityClass|user identity class]] 应该实现 [[yii\filter
- Hadoop2.5.2安装——单机模式
eksliang
hadoophadoop单机部署
转载请出自出处:http://eksliang.iteye.com/blog/2185414 一、概述
Hadoop有三种模式 单机模式、伪分布模式和完全分布模式,这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。
二、下载地址
Hadoop 网址http:
- LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
gundumw100
android
一切为了快速迭代
import java.util.ArrayList;
import org.json.JSONObject;
import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayo
- 三道简单的前端HTML/CSS题目
ini
htmlWeb前端css题目
使用CSS为多个网页进行相同风格的布局和外观设置时,为了方便对这些网页进行修改,最好使用( )。http://hovertree.com/shortanswer/bjae/7bd72acca3206862.htm
在HTML中加入<table style=”color:red; font-size:10pt”>,此为( )。http://hovertree.com/s
- overrided方法编译错误
kane_xie
override
问题描述:
在实现类中的某一或某几个Override方法发生编译错误如下:
Name clash: The method put(String) of type XXXServiceImpl has the same erasure as put(String) of type XXXService but does not override it
当去掉@Over
- Java中使用代理IP获取网址内容(防IP被封,做数据爬虫)
mcj8089
免费代理IP代理IP数据爬虫JAVA设置代理IP爬虫封IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
Java语言有两种方式使用代理IP访问网址并获取内容,
方式一,设置System系统属性
// 设置代理IP
System.getProper
- Nodejs Express 报错之 listen EADDRINUSE
qiaolevip
每天进步一点点学习永无止境nodejs纵观千象
当你启动 nodejs服务报错:
>node app
Express server listening on port 80
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (
- C++中三种new的用法
_荆棘鸟_
C++new
转载自:http://news.ccidnet.com/art/32855/20100713/2114025_1.html
作者: mt
其一是new operator,也叫new表达式;其二是operator new,也叫new操作符。这两个英文名称起的也太绝了,很容易搞混,那就记中文名称吧。new表达式比较常见,也最常用,例如:
string* ps = new string("
- Ruby深入研究笔记1
wudixiaotie
Ruby
module是可以定义private方法的
module MTest
def aaa
puts "aaa"
private_method
end
private
def private_method
puts "this is private_method"
end
end