我正在R中编写一个QC程序来处理来自报告其自身错误代码的仪器的数据。代码报告为位值,所以
celeryenv=`cat /opt/python/current/env | tr '\n' ',' | sed 's/export //g' | sed 's/$PATH/%(ENV_PATH)s/g' | sed 's/$PYTHONPATH//g' | sed 's/$LD_LIBRARY_PATH//g' | sed 's/%/%%/g'`
表示“一切正常”,而: -
//create array to pass data to model
$data = [
'email' => $this->input->post('email'),
'password' => $this->input->post('password')
];
//check model to see if user exists and if correct password
$user = $this->name_of_model->check_credential($data);
if(isset($user['error])){
//return error message in some form
}
每个代表一个独特的错误。多个错误可以同时发生,在这种情况下,代码被求和以给出新的数字,例如: -
public function check_credential($data) {
//see if user exists first
$user = $this->db->where('email', $data['email'])
->get('users')->row_array();
if($user){
$success = (password_verify($data['password'],$user['password']));
return ($success) ? $user : ['error'=>'Incorrect Password']
}
else{
return ['error'=>'User doesn't exist'];
}
}
因为这些总和都是唯一的,所以任何给定的代码值都可以分解为其组成错误。我正在寻找一种方法来编程识别这些代码中的错误。我正在努力尝试一种方法,但我能想到的一切都涉及查找表或大量循环......这两种方法看起来都不是很优雅。
我不知道是否已经存在0
功能,而不是重新发明轮子。
之前有没有人遇到过这类问题?
答案 0 :(得分:4)
您可以将数字转换为位,并使用该表示来查找错误。
2^(which(intToBits(34)==1)-1)
返回
2 32
希望这有帮助!