1746_Perl中面向对象的目录处理模块

这篇具有很好参考价值的文章主要介绍了1746_Perl中面向对象的目录处理模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

全部学习汇总: GreyZhang/perl_basic: some perl basic learning notes. (github.com)

         说起来我还不懂Perl的面向对象编程技术,只是在前阵子看到了书中提到了一句,用到了一个例子。今天看书的时候又看到了类型形势的代码(代码中很多瘦箭头),我觉得大概是面向对象的编程吧!

         工作之后从事了几年汽车电子ECU软件集成的工作,工作期间大量的自动化处理、批量化操作,很多时候都是跟目录和文件打交道。直到现在,我依然不是很懂Perl、Python或者MATLAB等各种脚本技术,已经了解掌握的就那么一点点东西,不过被我在工作中翻来覆去地用烂了。虽说写出来的代码又丑又笨,好歹还是发挥作用了。

         最近重新开始看Perl的教程,很多东西都让我感觉到欣喜。比如说刚刚遇到的这个功能:一个Perl内置的面向对象的目录处理模块Path::Class。

         简单抄了几段代码试用后,欣喜万分。如果我早就知道了有这么方便的模块,之前的工作中该会多么愉快。

#!/usr/bin/perl -w

use Path::Class;

use 5.010;

my $dir    = dir(qw(Users fred lib));

my $subdir = $dir -> subdir('perl5');

my $parent = $dir -> parent -> parent;

my $windir = $dir -> as_foreign('Win32');

say $dir;

say $subdir;

say $parent;

say $windir;

         上面的功能中用到了文件的拼接函数dir,增加子目录的方法subdir,获取父目录的方法以及适用于不同的操作系统平台的目录格式接口。

         以上方法、接口等字眼都是我根据我的感觉推测描述的,毕竟文档还没有阅读,面向对象我也不会。至于测试代码中用了两个父目录的方法纯粹是为了验证一下我对这个功能的猜测。

         那么,我为什么欣喜呢?因为我觉得如果现在再让我做一个文件备份工具或者是从版本管理服务器更新什么代码或者文件的时候,我写个简单的脚本会轻松很多。对原目录的分析以及对拷贝目标的构建都会显得比较轻松。更为重要的是,这个瘦箭头看上去比较顺眼,这种描述的方式可以让我更多地去考虑做什么而不用再费脑子不断地去构造拼接算法或者在脚本的编写过程中不断输出屏显观察结果,一切会水到渠成、自然而然。

         以下是脚本运行的结果,运行的平台为Windows7(我更新欢Linux,但是现在的工作性质决定了我还是得花点大洋买Windows在Windows上折腾,何况,如今我对Windows系统并不讨厌^_^):

1746_Perl中面向对象的目录处理模块文章来源地址https://www.toymoban.com/news/detail-494762.html

到了这里,关于1746_Perl中面向对象的目录处理模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?

    在过往的工作中,我发现很多人搞不清面向对象和面向过程的区别,总认为使用面向对象编程语言来开发,就是在面向面向对象编程了。而实际上,他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并没有发挥面向对象编程的优势。这就相当于手握一把屠龙刀

    2024年02月22日
    浏览(36)
  • 学习笔记整理-面向对象-01-认识对象

    1. 对象 对象(object)是 键值对 的集合,表示属性和值的 映射关系 。 对象的语法 k和v之间用冒号分割,每组 k:v 之间用逗号分割,最后一个 k:v 对后可以不书写逗号。 属性是否加引号 如果对象的属性键名不符合命名规范,则这个键名必须用引号包裹。 属性的访问 可以用 点语

    2024年02月13日
    浏览(32)
  • 设计模式学习笔记 - 面向对象 - 1.面向对象到底讨论的是什么

    面向对象编程( OOP )的全称是 Object Oriented Programming 。 面向对象编程语言( OOPL )的全称是 Object Oriented Programming Language 。 面向对象编程中有两个非常重要的概念,就是类( Class )和对象( Object )。面向对象编程这个概念第一次使用是在 SmallTalk 这种编程语言中,它也被认

    2024年02月22日
    浏览(34)
  • 【Java基础教程】(七)面向对象篇 · 第一讲:上干货!面向对象的特性、类与对象、内存结构引用分析、垃圾收集器 GC处理、封装性详解、构造方法、匿名对象、简单 Java 类~

    程序是将数据和逻辑封装在一起的代码段。在Java中,方法是常用的代码段封装方式。然而,在Java中,方法必须存在于一个类中才能使用。因此,我们将进入本章的核心内容——面向对象编程。 利用面向对象设计的程序可以实现代码的重用,并方便开发者进行项目维护。面向

    2024年02月13日
    浏览(33)
  • C#核心学习(面向对象)

    基本概念: 在实例化对象时,会调用的用于初始化的函数,如果不写,则默认存在一个无参构造函数。 写法: 1、没有返回值 2、函数名和类名必须相同 3、没有特殊需求时,一般是 public 4、构造函数可以被重载 5、this代表当前调用该函数的对象自己 特殊写法 可以通过this 重

    2024年02月03日
    浏览(27)
  • 【Python学习】—面向对象(九)

    类中不仅可以定义属性来记录数据,也可以定义函数,用来记录行为,类中定义的属性(变量)我们称之成员变量,类中定义的行为(函数),我们称之为成员方法。 表示对象本身的意思 只有通过self,成员方法才能访问类的成员变量 self出现在形参列表中,但是不占用参数

    2024年02月08日
    浏览(36)
  • rust学习-面向对象

    面向对象编程(Object-Oriented Programming,OOP) main.rs lib.rs 如果一个语言必须有继承才能被称为面向对象语言的话,那么 Rust 就不是面向对象的。无法定义一个结构体继承父结构体的成员和方法 Rust 也提供了其他的解决方案 选择继承有两个主要的原因: (1)重用代码:一旦为一

    2024年02月16日
    浏览(30)
  • 面向对象 学习黑马视频(03)

    构造函数 析构函数(1) 构造函数 析构函数(2) 包含:构造函数顺序和析构函数顺序 成员变量 成员函数 C++对象模型 this指针 空指针访问成员函数 const 修饰成员函数 ;常对象 友元,让其他类可以访问本类中的私有变量 (1)全局函数做友元 (2)友元类 (3)成员函数 友元

    2024年02月10日
    浏览(27)
  • Java面向对象学习笔记-4

    当编写Java程序时,了解如何处理异常是至关重要的。异常处理可以帮助我们在程序执行过程中处理各种错误情况,以确保程序能够正常运行或者 graceful 地退出。本文将介绍一些关于Java异常处理的基本概念和最佳实践,包括自定义异常类、用户输入的处理、异常捕获与处理、

    2024年02月09日
    浏览(32)
  • Python学习之路-初识面向对象

    面向对象编程(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的编程典范,同时也是一种程序开发的抽象方针。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。

    2024年01月21日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包