我猜测#lang球拍是一种方案的方言,具有更多的开箱结构和常用功能,也许更具教学意义.#lang对#lang方案有什么好处?
在球拍中使用#lang方案是否最好(甚至可能)遵循"计算机程序的结构和解释"甚至"如何设计程序"的所有内容.HtDP是#lang球拍特有的吗?
无论用#lang方案编写什么代码,只要不包含库,就可以在鸡计划或任何主要解释器中使用?
提前致谢.
在我的项目(Java/Play框架)中,我有一个错误处理路由,如果响应是错误代码,则检查来自Web服务的响应,我们显示相应的错误消息,说明用户输入有什么问题,服务检查用户输入有效性.
当用户输入%符号时,由于错误显示逻辑使用,该逻辑会中断
String.format(message, messageArgs);
Run Code Online (Sandbox Code Playgroud)
其中插入了messageArgs介绍它找到%的消息String,如果messageArgs包含%,那么我得到一个异常.
在显示消息之前,我需要清理,转义或以其他方式从用户输入中删除%.
消息:请求的电子邮件地址%s无效messageArgs:orlybg%@gmail.com
有关如何以最简单,最短的方式在Java中执行此操作的任何建议吗?
这是错误日志的一部分
java.util.UnknownFormatConversionException: Conversion = 'i'
at java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2646)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2675)
at java.util.Formatter.parse(Formatter.java:2528)
at java.util.Formatter.format(Formatter.java:2469)
at java.util.Formatter.format(Formatter.java:2423)
at java.lang.String.format(String.java:2797)
at controllers.api.PublicAPI.renderAPIError(PublicAPI.java:176)
at controllers.api.DeviceAPI.setEmailAddress(DeviceAPI.java:736)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:508)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161)
at Invocation.HTTP Request(Play!)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我通过向INSERT语句添加字段,根据某些条件(例如操作类型或存在某个值)构建查询.但后来我必须为不同的DBI分支execute不同的参数列表,如下所示:
if ($x) {$extraFields .= ' , X'; $extraValues= ',? '}
if ($y) {$extraFields .= ' , Y, Z'; $extraValues= ',?, ? '}
my $theBasicQuery = "INSERT INTO sometable (A, B, $extraFields) VALUES (?, ? $extraValues)";
$sth = $dbh->prepare($theBasicQuery) or error
# but I dont want to have to do this if for execute
if ($x) {$sth->execute(1,2,99);}
if ($y) {$sth->execute(1,2,88, 77);}
Run Code Online (Sandbox Code Playgroud)
我宁愿做这样的事情:
{$sth->execute($anArrayWithDifferentParams);}
Run Code Online (Sandbox Code Playgroud)
这可能吗?或者还有其他方法可以做类似的事情吗?
我有一个Sinatra应用程序,我在dev/stage中使用Thin运行,现在是时候进入生产了我开始检查如何在apache中与乘客一起服务.
我主要是跟着
http://recipes.sinatrarb.com/p/deployment/apache_with_passenger http://www.rabblemedia.net/blog/installing-rvm-ruby-on-rails-and-passenger-on-centos-6/ http:/ /sergiy.kyrylkov.name/2012/02/26/phusion-passenger-with-apache-on-rhel-6-centos-6-sl-6-with-selinux/
我的本地盒子正在运行fedora 16,apache 2.2,ruby 1.9+
我安装了乘客
gem install passenger
Run Code Online (Sandbox Code Playgroud)
然后
passenger-install-apache2-module
Run Code Online (Sandbox Code Playgroud)
几乎按照指示,如添加乘客模块
#mod_rails passenger
LoadModule passenger_module /home/orlybg/.gem/ruby/1.9.1/gems/passenger-4.0.5/libout/apache2/mod_passenger.so
PassengerRoot /home/orlybg/.gem/ruby/1.9.1/gems/passenger-4.0.5
PassengerDefaultRuby /usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)
这是我的vhost:
<VirtualHost *:80>
DocumentRoot "/var/www/html/billomatic"
ServerName billomatic
RailsEnv development
<Directory "/var/www/html/billomatic">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
LogLevel debug
ErrorLog "/var/log/httpd/billomatic-error_log"
CustomLog "/var/log/httpd/billomatic-access_log" common
Run Code Online (Sandbox Code Playgroud)
和我的config.ru
require 'rubygems'
require 'sinatra'
set :environment, ENV['RACK_ENV'].to_sym
disable :run, :reload
require File.join(File.dirname(__FILE__), 'bill-o-matic.rb')
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
我打的时候
http://billomatic/
Run Code Online (Sandbox Code Playgroud)
我得到Fedora页面的默认apache,首先是抱怨的错误日志
==> billomatic_error.log <==
[Wed Jun …Run Code Online (Sandbox Code Playgroud)