更好的 repl
在习惯使用动态语言之后,很是热衷于在 repl 下做各种尝试验证一些简单的想法。多数动态语言都内置提供了 repl,比如 python 的 python ,ruby 的 irb ,php 的 php -a ,nodejs 的 node ,甚至 haskell 这样的静态语言也有 repl: ghci 。 只是这些自带的 repl 都比较简单,所以会有一些替代工具,提供 更好 的体验:语法高亮,即时输出,简单的代码补全和提示。
php
php 默认的是 php -a ,功能很差,要输出内容还必须 echo。 boris 是更好的替代,不需输入 echo 直接输出,也有基本的语法高亮(只对输出有高亮,输入没有)。boris 没有代码补全。
MAC 自带的 php 缺乏一些必要的组件,使得 boris 无法使用,建议使用 brew 下的 php: brew install php 。
[1] boris> class A {[1] *> function t(){[1] *> return "test";[1] *> }[1] *> }// NULL[2] boris> $a = new A;// object(A)(//// )[3] boris> $a->t();// 'test'
python
python 自带的也很难用,但是 python 的替代工具要比 php 多,而且极其强大,强大到可以独立作为一个工具使用,而不仅仅是 python 的 repl。
bpython 是一个相当优秀的替代,不仅提供了很好的高亮,也可以 tab 键智能补全和提示。建议当只是想做一些简单的试验的时候,用 bpython 代替 python。
bpython
ipython 的 terminal 看起来似乎没有 bpython 好,不仅没有语法高亮,代码提示也很一般 1 。但是 ipython 是完全不同的一个工具,详情看 官网 ,这是一个套件,支持交互式的数据可视化,ipython notebook 是一个强大的 python IDE,功能很类似 matlab(不妨参考之前的文章)。毕竟,一个可以招博士后的项目,绝非池中之物 2 。
ipython notebook 基于 jupyter ,功能丰富。jupyter 目前已支持 bash, haskell, julia, python, r, ruby, scala。 Try
jupyter
最近的 4.1 更新 中,更是提供了一些现代编辑器如 sublime text 和 atom 的功能,比如 Command palette,以及更强大的查找和替换。详情请查看上面博文。
ruby
ruby 自带的 irb 默认功能是挺简单的,但是配置好 irbrc 后,也是可以实现常见的高亮和提示功能的。然而在 ruby 世界用 pry 的更多,pry 默认配置已经足够好,还可以配置 pryrc,完全定制 pry 的样式和功能。pry 提供了一些实用 插件 。甚至有 pry-theme 这样的项目。ruby 世界对颜值的追求一向不落人后。
pry-rails-console
nodejs
nodejs 除了自带的 node,也有一些第三方 repl 增强。 nesh 就是其中很优秀的一个。不得不说,node 世界最近发展迅速,开发者热情高涨,插件、库层出不穷。 nesh plugins
npm install -g nesh# Run neshnesh# Run nesh with CoffeeScriptnesh -c# Run nesh with ES6 through Babelnesh -b
i.js 是一个受 ipython 启发而开发的项目,但不是基于 jupyter。有兴趣的不妨尝试一下。
i.js screenshot
others
然而在 Linux 世界,还有很多命令行工具极其简陋,比如 sqlite3,比如 ftp,连基本的向上方向键查看命令历史的功能都没有提供,一时也没有好的替代,应该怎么办呢?
rlwrap 正是解决这一问题的工具。
[0] % sqlite3 production.sqlite3SQLite version 3.8.4.1 2014-03-11 15:27:36Enter ".help" for usage hints.sqlite> .tablesalbums images usersarticles schema_migrationssqlite> ^[[A^[[A^[[A^[[A
[1] % rlwrap sqlite3 production.sqlite3SQLite version 3.8.4.1 2014-03-11 15:27:36Enter ".help" for usage hints.sqlite> .tablesalbums images usersarticles schema_migrationssqlite> .tables
使用 rlwrap,方向键可用了。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长
