World: r4wp
[Rebol School] REBOL School
older newer | first last |
Steeve 21-Apr-2012 [37x3] | well... let see... |
>> blk: [greater? to-decimal do bind reduce [fact1] obj num1] | |
you"re doing tortuous things | |
Sujoy 21-Apr-2012 [40] | looks like it :( |
Steeve 21-Apr-2012 [41] | So, Did you check my correction ? |
Sujoy 21-Apr-2012 [42x4] | not working for me |
>> foreach obj objs [print do blk] ** Script Error: Invalid path value: a ** Near: a/a | |
sorry! | |
>> foreach obj objs [print do bind blk 'obj] ** Script Error: Invalid path value: a ** Near: a/a | |
Steeve 21-Apr-2012 [46] | I repeat, did you take that correction ? >> blk: [greater? to-decimal do bind reduce [fact1] obj num1] |
Sujoy 21-Apr-2012 [47] | yes |
Steeve 21-Apr-2012 [48x2] | It works fine with your data |
copy that, it must work: fact1: 'a/a num1: 99.0 blk: [greater? to-decimal do bind reduce [fact1] obj num1] objs: [] o: make object! [a: make object! [a: "100.0"]] append objs o o: make object! [a: make object! [a: "99.0"]] append objs o foreach obj objs [if equal? do bind blk 'obj true [print obj/a]] | |
Sujoy 21-Apr-2012 [50] | bloody typo again. sorry steve. yes it does work. its 430am here... |
Steeve 21-Apr-2012 [51x2] | Okay |
Where are you from ? | |
Sujoy 21-Apr-2012 [53] | india |
Steeve 21-Apr-2012 [54] | How have you discovered Rebol, If I may ask ? |
Sujoy 21-Apr-2012 [55x4] | online! was looking for something light and fast (in dev terms) |
rebol is ideal | |
if i do: fact1: 'a o: make object [a: "100.9"] append objs o foreach obj objs [if equal? do bind blk 'obj true [print obj/a]] ** Script Error: Invalid argument: a: "100.0" | |
wtf! | |
Steeve 21-Apr-2012 [59] | typo again >> o: make object! [a: "100.9"] you need sleeping time |
Sujoy 21-Apr-2012 [60] | nope. i corrected that and still the same error. i have data stored in json. i use json.r to convert to rebol objects. i want to create a query layer on top of this - which is why the expression builder... the fact1 is an attr of the data object. these can be nested. how best can i build the expression to retrieve the value i want? |
Steeve 21-Apr-2012 [61] | There's no better response than: it can be done. You just have to correct the bugs as they come. |
Sujoy 21-Apr-2012 [62] | :) |
Steeve 21-Apr-2012 [63] | is the complete error that one ? ** Script Error: Invalid argument: a: "100.0" ** Where: to-decimal ** Near: to decimal! :value |
Sujoy 21-Apr-2012 [64] | yes |
Steeve 21-Apr-2012 [65x2] | so you are trying to convert to a decimal something not convertible |
add a probe, just after to-decimal | |
Sujoy 21-Apr-2012 [67] | hmmm...not that i know of...just using the test data i put in here: >> probe objs [make object! [ a: make object! [ a: "100.0" ] ] make object! [ a: make object! [ a: "99.0" ] ] make object! [ a: "199.0" ]] |
Steeve 21-Apr-2012 [68] | you are trying to convert an object to a decimal |
Sujoy 21-Apr-2012 [69] | as long as fact1: 'a/a it works fine. if fact1: 'a - boom! |
Steeve 21-Apr-2012 [70] | because your objects have structures which are not always the same |
Sujoy 21-Apr-2012 [71] | how do i tackle this? |
Steeve 21-Apr-2012 [72] | what is the name of the decimal attribute ? |
Sujoy 21-Apr-2012 [73] | a blk: any [greater? to-decimal probe do bind reduce [fact1] obj num1 | greater? to-decimal do bind obj/:fact1 obj num1]?? |
Steeve 21-Apr-2012 [74] | Currenlty 'a stands for either an object or a string, you can't be that vague. You must choose a clear name to identify the decimal attribute |
Sujoy 21-Apr-2012 [75] | rats! |
Steeve 21-Apr-2012 [76x3] | or you must check in your code when 'a is an object! |
and fact1 must be initialized accodingly. Either with 'a either with 'a/a | |
question: an object 'a always has only one property called 'a ? | |
Sujoy 21-Apr-2012 [79] | yes |
Steeve 21-Apr-2012 [80x3] | ok it's simpler then, let me try... |
fact1: 'a get-prop: func [o][either object? o [first next second o][o]] blk: [greater? to-decimal get-prop do bind reduce [fact1] obj num1]objs: [] | |
another question. Why are you using the blk variable instead of coding directly in the foreach loop ? The code would be simpler. | |
Sujoy 21-Apr-2012 [83] | meaning? |
Steeve 21-Apr-2012 [84x3] | This is the same thing without the need of the blk code: foreach obj objs [ if num1 < get-prop obj/:fact1 [print obj/a]] ] |
much simpler, no need to rebind anything | |
small mistake, missed the to-decimal. foreach obj objs [ if num1 < get-prop to-decimal obj/:fact1 [print obj/a]] ] | |
older newer | first last |