首页 > 编程语言 >Factor语言编程示例

Factor语言编程示例

时间:2023-07-20 20:14:32浏览次数:49  
标签:bar 语言 示例 编程 Factor 编写 dec

目录

语言简介

https://rosettacode.org/wiki/Category:Factor

Factor 是一种基于堆栈的、串联的通用编程语言,注重实用性。

Factor 最初由 Slava Pestov 开发,于 2003 年作为一种为游戏编写的脚本语言诞生。该实现最初是用Java编写的解释器,但后来获得了优化编译器,并使用最小的C++核心在 Factor 中进行了重写。在此处阅读有关 Factor 实施历史的更多信息。截至 2020 年 6 月,Factor 仍在由多个贡献者开发,最新稳定版本已于 2018 年 7 月发布。

Factor 是一种类似于 Forth 的堆栈语言,但级别比Forth更高。Factor 是一种连接语言,这意味着我们不是将函数应用于参数(应用语言)来评估事物,而是编写函数来评估单个数据——直到该特定点的整个程序。在Factor中,数据流的基本结构是函数组合。也就是说,foo bar baz相当于baz(bar(foo()))应用语言中的。这提供了一种很好的从左到右的阅读方式和数据流。

示例

ATO上运行

#! 中文注释,判断一个数字正着写和反过来写是不是都是完全平方数。
USING: formatting io kernel math.parser project-euler.common sequences ;
IN: aspen138

read-lines [ dec> ] map dup
[ >dec dup reverse [ dec> perfect-square? ] both? ]
map [ "%-13d -> %u\n" printf ] 2each

标签:bar,语言,示例,编程,Factor,编写,dec
From: https://www.cnblogs.com/yhm138/p/17520667.html

相关文章

  • CherryPy教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介CherryPy是一个使用Python编程语言的面向对象的Web应用程序框架。它旨在通过包装HTTP协议来快速开发Web应用程序,但保持在较低级别,并且提供的内容远不及RFC7231中定义的内容。CherryPy入门教程-从基本到高级概念的简单步骤了解CherryPy,包括简介,环境设置,词......
  • C++ 模板编程技术解析
    一、函数模板函数模板实现通用函数,根据传递类型进行编译时实参推导:template<typenameT>Tadd(Ta,Tb){returna+b;}intmain(){intx=1,y=2;doublem=1.5,n=2.5;intz=add(x,y);doublep=add(m,n);return0;}这里te......
  • CODOTA:你需要的JAVA编程AI助手
    最近使用了Codota,令我印象深刻。Codota的目标是让开发更简单、更快。Codota能在后台运行,以便节约时间。1什么是CodotaCodota会学习我们如何在编程,然后反过来帮助我们更好的编程。它会使用AI和机器学习技术来给工作中的人提供与正在写的代码相关的建议。2用Codota编码如果说Codot......
  • 《剑指offer》编程在练评判
    下面是剑指offer书中的练习题在九度在线评判系统中的在线评测,非常适合大家练习。文章是转载。    目前国内外越来越多公司将在线机试的方式引入求职招聘中,或者通过各种在线比赛和比赛平台搜寻各类编程人才。在线编程练习可以培养求职者良好的编程习惯,提高编程水平,其自动判......
  • 【雕爷学编程】Arduino动手做(49)---有源蜂鸣器模块2
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题......
  • javascript中map reduce filter的示例代码
    以下是JavaScript中map、reduce和filter的示例代码:Map(映射)示例代码:Map函数将数组中的每个元素映射为一个新的值,返回一个新的数组。constnumbers=[1,2,3,4,5];//将数组中的每个元素平方constsquaredNumbers=numbers.map(num=>num*num);console.log(square......
  • 网络编程 p5 UDP编程
    UDP网络通信编程基本介绍类DatagramSocket和DatagramPacket实现了基于UDP协议网络程序。UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。DatagramPacket对象封装了UDP数据报,在数据报中包含了发......
  • javascript中json 对象 数组之间相互转化的示例
    在JavaScript中,你可以使用JSON.stringify()将JSON对象转换为JSON字符串,使用JSON.parse()将JSON字符串转换为JSON对象。而要将JSON对象转换为数组,可以使用Object.values()方法,而要将数组转换为JSON对象,可以使用Array.reduce()方法。下面是这些转换的示例代码:将JSON对象转换为JSON......
  • 【雕爷学编程】Arduino动手做(48)---GY-291 ADXL345 三轴模块6
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题......
  • 【雕爷学编程】Arduino动手做(48)---GY-291 ADXL345 三轴模块5
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题......