qtxie on master
FIX: better fix for issue #4706… (compare)
Also when I use save/all %db.txt db
when I view the first bit of the db.txt file..
.. #[hash!["user1" "pred1" "val1" "user2" "pred2"
.. make hash! ["user1" "pred1" "val1" "user2"
mold/allto see what is the string result used by
I find myselft using really often the the
/skip refinement with select. Having a block like the following (or any one treated as record)
myblock: [ key1 value1 value2 value3 key2 value1 value2 value3 key3 value1 value2 value3 key4 value1 value2 value3 key5 value1 value2 value3 ]
Select/skip can't select anything other than the the first column: value1, which is quite limiting.
I see useful removing this limit adding an additional
/offset) integer refinement to
select so instead of the first value, any other could be selected! Without
offset refinement should return the nth value after the key.
>> my_func: function [ MY_FUNC params DESCRIPTION: MY_FUNC is a function! value. ARGUMENTS: params [block!] >> my_func ["one" "two" "three"] one two three >>]][foreach x params [print x]] == func [ ] /local x][foreach x params [print x]] >> ? my_func USAGE:
>> copy/part find/skip myblock [key2 value1] 4 4 == [ key2 value1 value2 value3 ]
>> third find/skip myblock [key2 value1] 4 == value2
mydata: make hash! [ key1 value11 value12 value13 key2 value21 value22 value23 key3 value31 value32 value33 key4 value41 value42 value43 key5 value51 value52 value53 ] myselect: func [data key len pos][ pick find/skip data key len pos ] myselect mydata 'key1 4 1 ;== key1 myselect mydata 'key1 4 3 ;== value12 myselect mydata 'key3 4 2 ;== value31 myselect mydata 'key5 4 4 ;== value53
select is not going to add this feature. It's design was reconsidered to match R3, not R2, and @toomasv showed the way to do this. What is one short line in Red, would be a large amount of Red/System code in multiple datatypes, because it's an action.
I appreciate that you have a different perspective, but when deeply experienced Reducers push back on your idea, you tend to push forward with the same request again. Do NOT write a request for these.
Find/Select work this way by design.