`
qiezi
  • 浏览: 499163 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[D语言] ruby风格的each/map

    博客分类:
  • D
阅读更多
import std.stdio;

class Array(T){
    private:
    T[] data;

    public:
    this(T[] data ...){
        this.data = data.dup;
    }

    void each(void delegate(T) dg){
        foreach(T value; data){
            dg(value);
        }
    }

    T[] map(T delegate(T) dg){
        T[] result = new T[data.length];
        foreach(int index, T v; data)
            result[index] = dg(v);
        return result;
    }
}

void main(){
    auto arr = new Array!(int)(1,2,3,4,5);
    arr.each(delegate void (int v){ writefln(v); });
    auto arr1 = arr.map(delegate int (int v){ return v * 3; });
    writefln(arr1);
}
分享到:
评论

相关推荐

    Ruby的迭代之道:each与map的较量

    ### Ruby 的迭代之道:`each`与`map`的较量 #### Ruby 语言简介 Ruby 是一种高级的、面向对象的编程语言,由日本开发者松本行弘(Yukihiro "Matz" Matsumoto)于 1995 年创建。其设计目标旨在实现简单、自然且强大...

    Ruby脚本语言经典教程.pdf

    Ruby提供了一系列内置的迭代器,如.each、.map、.select等,使集合的处理更为简单。 5. **Ruby on Rails框架**:Ruby最著名的应用之一是Ruby on Rails框架(简称Rails),它是一个开源的Web应用框架,使用Ruby语言...

    Ruby语言入门教程

    Ruby提供`for`循环、`while`循环和`until`循环等循环结构,同时还有一些独特的迭代方法,如`each`和`map`等。 - **线程** Ruby支持多线程编程,可以通过创建新的线程对象并调用`join`方法来实现并发处理。 ####...

    Ruby中使用each和collect进行迭代的用法

    ### Ruby中使用each和collect进行迭代的用法 在Ruby编程语言中,迭代是一种非常重要的概念,用于遍历数组、哈希等集合类型中的元素。本文将深入介绍`each`和`collect`这两个常用方法的基本原理及其应用方式,并通过...

    Ruby 基本语言介绍

    ### Ruby 基本语言介绍 #### 一、Ruby 语言概述 Ruby 是一种简洁、高效且具有强大功能的编程语言。它最初由日本程序员松本行弘(Yukihiro Matsumoto)于1995年设计并开发。Ruby 的设计理念强调程序员的生产力和...

    Ruby编程语言中基础和高级控制结构详解

    内容概要:本文详细介绍了Ruby编程语言中的基础和高级控制结构,包括条件语句(if、unless)、循环语句(while、until、for)、迭代器(each、map、select),以及模式匹配(case)、跳转控制(next、retry、break、...

    ruby开发文档

    7. **控制结构**:Ruby有多种控制结构,包括条件语句(if/else/unless)、循环(for、while、until、times)和迭代器(each、map等)。Ruby的case语句支持模式匹配。 8. **异常处理**:Ruby使用`begin/rescue/else/...

    Ruby-程序设计-cn.pdf

    迭代器是用于遍历集合的机制,Ruby提供了丰富的迭代器,如each、map、select等,使得数据处理变得更加简洁和高效。 ### 异常 异常处理是编程中不可或缺的一部分。Ruby提供了强大的异常处理机制,允许程序员捕捉和...

    ruby trap 初学者使用

    理解它们的方法如`map`、`each`和`select`对于高效编程很重要。 - `Enumerable`模块提供了大量实用的迭代方法,初学者应熟练掌握。 8. **代码风格和约定**: - 遵循Ruby社区广泛接受的编码规范,如Ruby Style ...

    ruby实用函数和实例

    RSpec允许开发者以自然语言风格编写测试,使测试更易于理解。Minitest则是一个轻量级的测试库,内置于Ruby标准库中,它提供了测试套件、断言和模拟等功能。在进行数据采集时,Ruby的HTTP库如Net::HTTP可以用来从网页...

    Ruby-ParallelRuby让并行处理简单和快速

    除了`each`方法,Parallel库还提供了其他方法,如`map`、`inject`等,这些都是并行版本的内置Ruby方法,方便在并行环境下使用熟悉的编程模式。 在实际应用中,理解并行处理的潜在问题也至关重要,如数据竞争、死锁...

    Ruby - Ruby for Rails

    - **基础概念**:介绍 Ruby 作为一种动态类型的面向对象编程语言的基础知识。 - **解释器与虚拟机**:讲解 Ruby 是如何通过解释器或虚拟机运行的。 - **动态特性**:探讨 Ruby 的动态特性和其带来的灵活性。 - **...

    Ruby-Ruby技巧惯用Ruby重构和最佳实践

    Ruby是一种强大的动态编程语言,以其简洁、优雅的语法和高度的可读性著称。在Ruby社区中,惯用法(idioms)和最佳实践(best practices)是提高代码质量的关键。本文将深入探讨Ruby中的关键技巧、重构方法以及遵循的...

    Ruby中文参考手册

    9. **块和迭代器**:Ruby中的块(采用do..end或{}语法)和迭代器(如each、map等)是处理集合数据的重要工具。 10. **模块混合**:Ruby的模块可以被类“混入”(include或extend),实现跨类的代码共享。 11. **类...

    Ruby编程.pdf

    迭代器(如`each`、`map`和`select`)通常接受代码块作为参数,并基于代码块执行特定的操作。 ### 结论 通过上述总结,我们可以看出Ruby语言具有简洁的语法和强大的功能集,使其成为进行Web开发、自动化脚本编写等...

    ruby实现文件对比资料

    在Ruby编程语言中,文件对比是一项常见的任务,尤其在处理文本文件、代码比较或日志分析时。本文将深入探讨如何使用Ruby实现文件对比,并提供相关的实例和技巧,帮助你编写出自己的文件对比脚本或生成对比报告。 一...

    Ruby学习资料chm

    9. blocks和迭代器:Ruby的Enumerable模块提供了许多内置的迭代器,如each、map等,结合blocks可以方便地进行数据处理。 在"Ruby学习资料chm"中,可能涵盖以下内容: 1. Ruby基础语法:包括变量、常量、运算符、...

Global site tag (gtag.js) - Google Analytics